DwarfenMedlem sedan jan. 2002241 inlägg Startade upp min sever och sidan efter några månader i träda, sidan funkade perfekt efter lite pillande med sql och php. men för övrigt gick det bra.
Men nu får jag in ett "roligt" fel:
Notice: Undefined index: nid in H:\htdocs\index.php on line 67
Notice: Undefined index: page in H:\htdocs\index.php on line 68
Förstår inte varför detta ska komma nu för? Det fungerande felfritt innan.
Men iallafall, jag provade med att ta bort: nid på rad 67.
Då försvann felet, allt frid och fröjd...
Tills en besökte en annan länk på sidan, och gick sedan tillbaka till första sidan och tryckte på F6, då var skiten tillbaka, fast bara:
Notice: Undefined index: page in H:\htdocs\index.php on line 68
Och den är vad jag vet inte undefined.
Är det någon vänlig själ ta sig en titt på mina filer?
Sidan och dess synliga fel:
Hemsidan
Filerna som det handlar om:
sl0kMedlem sedan maj 2005562 inlägg Varningen beror på att du försöker använda ett index som inte existerar..
Dvs du försöker använda
$HTTP_GET_VARS['nid']; och $HTTP_GET_VARS['page']; när de inte är satta..
ändra istället rad 67 o 68 till
if (isset($HTTP_GET_VARS['nid'])) {
$nid = $HTTP_GET_VARS['nid'];
}
else { $nid = "default"; // lr dyl vad du nu vill ha
}
if (isset($HTTP_GET_VARS['page'])) {
$id = $HTTP_GET_VARS['page'];
}
else { $id = "default.html"; // lr dyl..
}
EDIT:
lr en mer kompakt metod.. dock inte lika pedagogisk ... men samma funktion
$nid = (isset($HTTP_GET_VARS['nid'])) ? $HTTP_GET_VARS['nid'] : "default";
$id = (isset($HTTP_GET_VARS['page'])) ? $HTTP_GET_VARS['page'] : "default.html";
DwarfenMedlem sedan jan. 2002241 inlägg Wihow! Det fungerar ju!
Men vad var det som igentligen hände? Noggran förklaring nu tack?
sl0kMedlem sedan maj 2005562 inlägg Jo som jag sa tidigare så varnade den för att du försökte använda en variabel som inte var satt ..
du försökte bla använda $HTTP_GET_VARS['nid'] när den inte var satt.. dvs den hade inget värde som du försökte tilldela $nid.. det var därför du fick varningen .. om du istället testar innan om den är satt lr ej så får du inte den varningen.
Varför du fick det nu o inte tidigare beror på att error_reporting() har ändrats.. antingen i php.ini lr direkt i dina skript
använder du
error_reporting(E_ALL); överst på dina skript kommer du se alla varningar o felmeddelanden.. vilket kan vara bra när man felsöker m.m ..
DwarfenMedlem sedan jan. 2002241 inlägg Ah, det är klart, den förra versionen av apache hade nog andra inställningar, det förklarar en del.
Men nu har jag iallafall lagt till error_reporting(E_ALL); övers på index sidan.
Tack för hjälpen.
mmmMangeMedlem sedan jan. 2005110 inlägg Ett hett tips är att istället för att använda $_GET/$_POST/$HTTP_GET_VARS skapa "läsfunktioner" för dessa.
Ex
function ReadGet($name, $default = ''){
return isset($_GET[$name]) ? $_GET[$name] : $default;
}
Sen kör du helt enkelt nåt sånthär
print ReadGet('nid', 0);
Detta kommer printa ut GET-variabeln "nid" om den är satt. Är den inte satt printar den ut 0. Otroligt mycket smidigare än att ständigt köra isset() överallt.