Notice: Meldung und ich weis nicht wiso!

wokal

Mitglied
Tagchen!

Nun ich brauch mal wieder eure Hilfe!

Also ich hab das Tutorial genommen un eingebaut aber irgendwie sagt er mir immer einnen fehler und ich weis nicht wiso!

Also Fehler nicht sonder einen Notice

Notice: Undefined index: suchfeld in /xxx/xxx/xxx/xxx/xxx/xxxx/ausstellerverzeichniss_hm05.php on line 215
Notice: Undefined index: page_no
in /xxx/xxx/xxx/xxx/xxx/xxxx/ausstellerverzeichniss_hm05.php on line 215


Hier der Quell code ausschnitt:
PHP:
if($conn) {
   mysql_select_db($dbase, $conn);
} else {
   die("Fehler, Verbindung konnte nicht hergestellt werden!");
}

	// Aufruf der Funktion getUser() mit Suchbegriff und Seitennummer
	echo $show = getUser($_POST['suchfeld'],$_POST['page_no']);
?>

Ich hab keine ahnung wiso er mir das anzeigt!

Bitte um Hilfe Danke!
 
Kannst du ignorieren. Kommt wenn du auf ein Arrayelement zugreifst wenn es noch nicht initalisiert wurde (-> isset() ).
Daher infahc im Loglevel in der php.ini Warnings abschalten, anstall E_ALL zu verwenden.
 
Ben Ben hat gesagt.:
Kannst du ignorieren. Kommt wenn du auf ein Arrayelement zugreifst wenn es noch nicht initalisiert wurde (-> isset() ).
Daher infahc im Loglevel in der php.ini Warnings abschalten, anstall E_ALL zu verwenden.
Nein, nicht ignorieren, sondern sauber programmieren!
PHP:
//...
    $show = getUser(
        ((isset($_POST['suchfeld']))
            ?$_POST['suchfeld']
            :'' /* = Standardwert*/),
        ((isset($_POST['page_no']))
            ?$_POST['page_no']
            :0 /* = Standardwert*/)); 
    echo $show;
//...

Gruß hpvw
 
Sehr wohl ignorieren :P
Kommt halt auf den Anwedungsfall an.

Wen ich beispielsweise mit arra_key_exists($_POST['bla'],$irgendeinarray);
prüfe bekomme ich ggf auch diese notice, aber das macht mir ja nichts in diesem Fall.
Und nur wegen der Notice schreibe ich da kein extra if rein.
 
Danke erstmals!

Also auf die php.ini hab ich ja keinen zuriff da ich einen Webhoster habe!

Kann man denn befhl auch anders unterdrücken oder so!
Oder soll ich es umschreiben!

Desweiteren kann ich ja seiten weiterschalten und wenn cih dann eine seite weiterklick ist die Notice weg klar die $ wurde ja definiert!

Hab auch ein ein suchfeld und wenn ich da ein wort eingebe was nicht gefunden werden kann dann sagt er mir auch ein notice fehler!

Danke!
 
Zuletzt bearbeitet:
Ben Ben hat gesagt.:
Sehr wohl ignorieren :P
Kommt halt auf den Anwedungsfall an.

Wen ich beispielsweise mit arra_key_exists($_POST['bla'],$irgendeinarray);
prüfe bekomme ich ggf auch diese notice, aber das macht mir ja nichts in diesem Fall.
Und nur wegen der Notice schreibe ich da kein extra if rein.
Wenn Du Dir nicht sicher sein kannst, ob das Array überhaupt existiert, dann benutze [phpf]isset[/phpf].
EDIT:
Beispiel für oben:
PHP:
(isset($_POST['bla']) && array_key_exists($_POST['bla'],$irgendeinarray))
/EDIT
wokal hat gesagt.:
Danke erstmals!

Also auf die php.ini hab ich ja keinen zuriff da ich einen Webhoster habe!

Kann man denn befhl auch anders unterdrücken oder so!
Oder soll ich es umschreiben!

Desweiteren kann ich ja seiten weiterschalten und wenn cih dann eine seite weiterklick ist die Notice weg klar die $ wurde ja definiert!

Hab auch ein ein suchfeld und wenn ich da ein wort eingebe was nicht gefunden werden kann dann sagt er mir auch ein notice fehler!

Danke!
Du kannst mit @ vor dem Funktionsaufruf Fehlermeldungen unterdrücken. Was ich davon halte, kannst Du Dir sicher vorstellen. Wer unbedingt unsauber (ich sage nicht falsch) programmieren will, soll das gerne machen und hat seinen Spaß, wenn er Fehler sucht.

Gruß hpvw
 
Zuletzt bearbeitet:
Das ich das alles super schreibe dazu fehlt mir noch die kenntnis!

Leider!
Bin eigentlich auch dafür das alles richtig ist und nichts unterdrückt wird aber mir fehlt die zeit!

Wo müsste ich das @ zeichen setzten?
 
hpvw hat gesagt.:
Wenn Du Dir nicht sicher sein kannst, ob das Array überhaupt existiert, dann benutze [phpf]isset[/phpf].
Gruß hpvw

Das ist wohl richtig, aber in dem Falle ging ich davon aus.
Sonst gebe ich dir Recht, dass man entprechend prüfen sollte.
 
Man könnte doch auch am Anfang der Seite noch ein
error_reporting(0)
setzten, um eventuell auftauchende Meldungen, von denen man noch nichts weiß (oder so), zu verhindern? Zählt das auch zum unsauberen programmieren?
 
fanste hat gesagt.:
Man könnte doch auch am Anfang der Seite noch ein
error_reporting(0)
setzten, um eventuell auftauchende Meldungen, von denen man noch nichts weiß (oder so), zu verhindern? Zählt das auch zum unsauberen programmieren?
Ja, zählt dazu. Wenn du beim Daimler die Tankinhalts anzeige ignoriest, fährt er auch weiter....

Sauber programmieren bedeutet unter anderem, das Skripte in -fast- jeder Umgebung lauffähig sind/sein sollten.
 
Zurück