På min egen server får jag detta fel.
Notice: Undefined index: sender in D:\it-carrera\v3\cardservice\createcard.php on line 7
Notice: Undefined index: reciver in D:\it-carrera\v3\cardservice\createcard.php on line 8
Notice: Undefined index: greeting in D:\it-carrera\v3\cardservice\createcard.php on line 9
Men inte på min sajts webserver.. för att bli av med detta fel måste jag göra små ändringar i koden. :) *givetvis*
Koden som generar felet på min egen server men funkar fint på den andra:
// variablar.
$sender = $_POST['sender'];
$reciver = $_POST['reciver'];
$greeting = $_POST['greeting'];
Felet försvinner dock när jag använder mig av det jag skrev i tråden http://www.webforum.nu/showthread.php?s=&threadid=115676, alltså
// variablar.
$sender =& $_POST['sender'];
$reciver =& $_POST['reciver'];
$greeting =& $_POST['greeting'];
saken hör ju till den att de gör ju inget, eftersom de funkar snyggt på webservern. Men hänger inte riktigt med i svängarna hur de kan motverka felmeddelanden?
*kanske bara ute och cyklar nu igen... * :OO
kjellMedlem sedan dec. 1999757 inlägg På din egen server har du förmodligen
error_reporting = E_ALL
i filen php.ini medans man på servern har
error_reporting = E_ALL & ~E_NOTICE
Så ändrar du i din php.ini till det andra alternativet försvinner meddelandet om exempelvis odefinerade variabler.
kjellMedlem sedan dec. 1999757 inlägg En sak till förresten. Anledningen till att du får själva notisen är att någon index inte existerar. En index i detta fallet är namnet på någon av dom vektorer (arrays) som du har, exempelvis dina $_POST[].
Får man gissa att det är ett stavfel i $_POST['reciver'] och att ska vara $_POST['receiver'] istället?
[r]
Nu ser jag dock i ditt felmeddelande att den klagar på alla tre...
Kanske enklast att lägga till error_reporting = E_ALL & ~E_NOTICE i din inifil eller får du gå igenom koden ordentligt och se till så alla index existerar.
Någon egentlig betydelse för hur skriptet fungera har det inte och det normala är man slår av notice i inifilen.
MatteMedlem sedan aug. 20002 975 inlägg Som jag ser det använder man här variabler från ett postat formulär.
Är inget formulär postat så ska heller inte koden köras, alternativt ska defaultvariabler sättas.
Antingen
if (isset($_POST['sender'])) {
$sender = $_POST['sender'];
$reciver = $_POST['reciver'];
$greeting = $_POST['greeting'];
// Gör vad ytterligare ska göras med de postade variablerna
}
eller typ
$sender = isset($_POST['sender']) ? $_POST['sender'] : 'defaultvärde';
Under utveckling bör man ha alla notiser påkopplade då de ibland är ett tecken på att man gjort något logiskt fel.
Att undvika notiser om odefinierade variabler är inget större problem. Antingen kolla först att de finns, eller sätt ett initialvärde på dom.
Jo jo.. :) hade liksom glömt en liten sak och de handlade om det i de sistnämnda inlägget.. :)