php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.04.2008, 09:22  
Kein Genie
Gast
 
Beiträge: n/a
Standard Notice: Undefined index

Hi,
habe folgendes Script:

PHP-Code:
    $error = array();
    
    if(
$_POST[`username`] == ''$error[] = 'Bitte geben Sie einen Benutzernamen an!';
    if(
$_POST[`password`] == ''$error[] = 'Bitte geben Sie ein Passwort an!';
    if(
$_POST[`password_wdh`] == ''$error[] = 'Bitte geben Sie eine Passwort Wdh. an!';
    if(
$_POST[`email`] == ''$error[] = 'Bitte geben Sie eine E-Mailadresse an!';
    
    if(
$_POST[`password_wdh`] != $_POST[`password`]) $error[] = 'Die Passowort Wdh. muss mit dem Passwort übereinstimmen!';
    if(!
preg_match("/[a-z0-9]+/i"$_POST[`username`])) $error[] = 'Der Benutzername darf nur aus Buchstaben und Zahlen bestehen, keine Sonderzeichen!';
    if(!
preg_match("/[a-z0-9]+/i"$_POST[`password`])) $error[] = 'Das Passwort darf nur aus Buchstaben und Zahlen bestehen, keine Sonderzeichen!';
    if(!
preg_match("/[a-z0-9]+/i"$_POST[`password_wdh`])) $error[] = 'Die Passwort Wdh. darf nur aus Buchstaben und Zahlen bestehen, keine Sonderzeichen!';

    
$check_username 'SELECT username FROM user WHERE username = "'.mysql_real_escape_string($_POST[`username`]).'"';
    
$result_check_username mysql_query($check_username) or die(mysql_error());
    if(
mysql_num_rows ($result_check_username) > 0
    {
      
$error[] = 'Der Benutzername ist bereits vergeben!'
    }
    
    if(
$error 0)
    {
     echo 
'<center><div id="error"><ul>';
      for(
$i=0;$icount($error);$i++)
      {
        echo 
'[*]'.$error[$i].'';
      }
     echo 
'[/list]</div></center>';
    }
    else
    {
    
    } 
Wenn ich das jetzt ausführe bekomme ich folgende Fehlermeldung:

Code:
Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 9

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 10

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 11

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 12

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 14

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 14

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 15

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 16

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 17

Notice: Undefined index: in D:\xampp\htdocs\help-city\register.php on line 19
Verstehe ich aber nicht, da ich ja die Variable $error doch am Anfang zugewiesen habe.
Dankf für eure Hilfe.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.04.2008, 10:31  
Neuer Benutzer
 
Registriert seit: 17.04.2008
Beiträge: 4
cisco
Standard

Sieht für mich so aus, als ob der die Indizes vom $_POST-Array nicht kennt. Scheint wohl was beim übermitteln aus einem Formular o.ä. schief gelaufen zu sein. Gib den doch mal aus und guck was da drin steht.
cisco ist offline  
Alt 23.04.2008, 11:48  
Erfahrener Benutzer
 
Benutzerbild von GelaMu
 
Registriert seit: 05.03.2006
Beiträge: 183
GelaMu
Standard

Eeeeeeeem... der Fehler liegt in `...` (Execution Operators).

if($_POST[`username`] == '')
ist also dasselbe wie
if($_POST[shell_exec("username")] == '').
Du wolltest bestimmt
if($_POST['username'] == '')
schreiben.

Und noch was: wenn 'username' in $_POST nicht vorhanden ist, wird eine Notice angezeigt. Du solltest entweder @$_POST['username'] oder (noch besser) zuerst mit isset() prüfen, ob 'username' in $_POST vorhanden ist,
also sowas in der Art:
if(isset($_POST['username']) && $_POST['username'] == '')

Grüße,
GelaMu.
GelaMu ist offline  
Alt 23.04.2008, 17:00  
Neuer Benutzer
 
Registriert seit: 09.10.2005
Beiträge: 11
imported_matze4all
Standard

Zitat:
Zitat von GelaMu
if(isset($_POST['username']) && $_POST['username'] == '')
für Schreibfaule ist auch empty() empfehlenswert:

if(empty($_POST['username'])) {...}
imported_matze4all ist offline  
Alt 23.04.2008, 17:31  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Bin mir gerade nicht sicher, ob isset () auf einen nicht vorhandenen Array-Index nicht sogar auch eine notice wirft. Benutz doch array_key_exists (). Oder eben empty (), dann aber auf den Unterschied achten.
nikosch ist offline  
Alt 23.04.2008, 17:40  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

isset() gibt bei Arrays keine Notice aus, also wenn der Key nicht existiert gibt es halt false zurück.
Flor1an ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
thumbnails erstellen dom PHP Tipps 2008 39 21.07.2008 21:28
PHP Notice: Undefined index: ORIG_PATH_TRANSLATED TFT PHP Tipps 2008 1 18.04.2008 11:42
Prototype Ajax Array Datenmüll notyyy HTML, Usability und Barrierefreiheit 2 08.04.2008 10:57
Notice: Undefined index: PHP Tipps 2006 3 08.03.2006 16:39
Update Script funzt nicht PHP Tipps 2007 5 20.12.2005 19:36
Undefined index: PHP Tipps 2005 12 18.05.2005 16:13
Notice: Undefined index: eintrag Jojo1 PHP Tipps 2005 6 16.04.2005 12:41
Notice: Undefined index: senden in ...... Skazi PHP Tipps 2005 10 28.03.2005 03:04
Undefined index PHP Tipps 2005 5 05.02.2005 14:57
Notice-Meldungen bei PHP PHP Tipps 2005 14 02.02.2005 12:52
Undefined index: USERNAME PHP Tipps 2004-2 2 07.12.2004 17:47
Undefined index: PHP Tipps 2004 6 15.09.2004 12:00
Notice: Undefined index: Nick ... PHP Tipps 2004 18 25.08.2004 12:49
Notice: Undefined index: in Zeile 7 PHP Tipps 2004 6 12.08.2004 10:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
notice: undefined index:, notice: undefined index, php notice: undefined index:, notice undefined index, notice undefined index php, php notice: undefined index, php notice undefined index, xampp notice, xampp notice: undefined index:, xampp notice: undefined index, notice: undefined index: login in, notice: undefined index: in, notice: undefined index: in on line, notice: undefined index: php, xampp notice undefined index, notice: undefined index: on line, notice undefined index xampp, notice: undefined index: login, php undefined index _post, notice: undefined index: xampp

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.