PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Problem


skamikaze
2005-07-07, 18:17:56
n'abend,

ich habe gerade einen apache server eingerichtet und dazu gleich noch php installiert. leider funzen meine scripts auf dem apache server nicht so wie auf den servern von lycos (zb) ;(

-----------------------------------------------------------------

Notice: Undefined index: site in C:\Programme\Apache\Apache2\htdocs\index.php on line 39
function post($a)
{$$a=$_POST["$a"];}
function get($a)
{$$a=$_GET["$a"];}
function server($a)
{$$a=$_SERVER["$a"];}
Notice: Undefined variable: site in C:\Programme\Apache\Apache2\htdocs\index.php on line 60
get("site");
if(!file_exists("$site.php"))
{
if(empty($site))
{$site="main";}
else
{$site="404";}
}
include("$site.php");
-----------------------------------------------------------------

wie kann ich die configs ändern dass die scripts wieder laufen? alternativ könnte ich die scripts auch umschreiben, sehe aber leider im moment keine möglichkeit.

wäre sehr nett wenn mir jemand helfen könnte!

BlueMaex
2005-07-07, 19:02:05
Du hast wohl nur nen Error Level zu hoch eingestellt, beim PHP. Standardmäßig werden die meisten Errors angezeigt auch notices.
Wenn du richtig programmierst sollte eiegentlich gar nix auftauchen egal welches error level.

Beim ersten Meckert php weil du auf nen Array Index zugreifst der gar nicht existiert.
Bevor du blind drauf zugreifst, solltest du vorher prüfen ob es diesen array key bzw index gibt. array_key_exists()

Die zweite notice sagt dir das du ne Variable verwendest die bis dato nicht exisitiert. Da kann dir isset() helfen.

skamikaze
2005-07-07, 19:38:52
Du hast wohl nur nen Error Level zu hoch eingestellt, beim PHP. Standardmäßig werden die meisten Errors angezeigt auch notices.
Wenn du richtig programmierst sollte eiegentlich gar nix auftauchen egal welches error level.solang's funzt ist mir das relativ egal. ;)
wie kann ich denn den error level runterstellen?

Beim ersten Meckert php weil du auf nen Array Index zugreifst der gar nicht existiert.
Bevor du blind drauf zugreifst, solltest du vorher prüfen ob es diesen array key bzw index gibt. array_key_exists()ich kann dir nicht ganz folgen. das sind nur funktionen die $_GET $_POST und $_SERVER vereinfachen...:|

Die zweite notice sagt dir das du ne Variable verwendest die bis dato nicht exisitiert. Da kann dir isset() helfen.die variable wird ja auch nur benötigt wenn man auf eine unterseite will....wie kann ich denn das problem beheben? ;(

-----------------------------------

das problem ist ja auch dass die scripts nicht nur fehlermeldungen erzeugen sondern garnicht mehr funktionieren ;(

The_Invisible
2005-07-09, 08:31:20
1. entweder du machst vor der stelle die die fehlermeldung erzeugt ein @ (nicht empfehlenswert da sonst an dieser stelle keine fehler mehr angezeigt werden obwohl diese auch fatal sein können)

2. error_reporting Variable in der php.ini am Webserver anpassen, gilt dann für alle scripts und virtuelle hosts (bedingt empfehlenswert, bei ner lokalen apache installation kann man es aber ohne probs verwenden)

3. es gibt auch noch nen php-befehl der sich error_reporting() nennt, als parameter einfach 0 übergeben und er gibt für diese Site keine Fehlermeldung mehr aus (wirklich keine). für nähere informationen siehe auch hier: http://de.php.net/manual/de/function.error-reporting.php

mfg