Login Fehler bei der Index Seite, beim 1.aufruf

M

merlin1

Hallo Leute
Es ist Sonntag und ich habe eine Frage,ich sitze hier an der prüfung, ich rufe die index seite zum ersten mal im Browser auf, dann kommt dieses Fehlermeldung

Ihr Name fehlt
Notice: Undefined index: pw in C:\xampp\htdocs\plattenshop\class_seite.php on line 41
, Leider ist der Zugang nicht gestattet


Ich gebe trotz des Fehlers den Namen und das Passwort ein und dann ist der Fehler weg.

die komplette meldung erscheit nicht mehr.

Hier ist der Code dazu , vlt hat jemand eine Idee wo der Fehler ist.

Vielen dank im Vorraus


PHP:
public function Login($login)
	{
		$this->login = $login;
		
		if (!empty($_REQUEST['name'])) print "Wir begrüssen Sie "
		. $_REQUEST['name']. ".\n";

		else
			print " Ihr Name fehlt\n";
		if ($_POST['pw'] == 'sky')
			print " , Sie haben Zugang";
	    else
			print ", Leider ist der Zugang nicht gestattet";
	   
?>
HTML:
<form action ="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    <p>Anmeldung</p>
    <p>Vorname</p> <input type="text" name="name">
    <br>
    <p>Passwort</p><input type="password"  name="pw" />
    <br>
    <input name="Senden" type="submit" value="Login">
    <input name="Zurücksetzen" type="reset" value="Abbrechen">
    
   
  </form>
 
Der Fehler ist genau das, was die Fehlermeldung aussagt.
Den Schlüssel "pw" gibt es nicht in $_POST beim ersten Aufruf der Seite. Beim Abschicken des Formulars exisitiert der Wert dann natürlich, weil er übertragen wurde.

Du müsstest vorher mittels [phpf]isset[/phpf] prüfen, ob das Arrayelement existiert.
 
Hi Leute
Danke für die Antwort, das habe ich umgesetzt. Hatte auch den Beitrag aus versehen zweilmal reingestellt.

jetzt steht noch das hier da wenn ich die seite das erstemal aufrufe.

Ihr Name fehlt , Leider ist der Zugang nicht gestattet

vlt weis jemand noch eine lösung.

Danke im vorraus

PHP:
public function Login()
	{
		#hatte hilfe bekommen , wusste aber nicht genau wie ich das einsetze

		import = time
        brain = []
        age = 0
		
		
         while (age < 60*60*24*365.5*100):
         brain += 'Neues Wissen? Besuche doch mal http://develos.de'
         age += 1
    	time.sleep(1)
		
#bis zu diesem absatz hatte ich das eingefügt. nur mein editor wolte das nicht so annehmen.

		if(isset($_POST['name'])) 
		
		print "Wir begrüssen Sie "
		.$_POST['name']. ".\n";

		else
			print " Ihr Name fehlt\n";
		
		if ((isset($_POST['pw']) && ($_POST['pw'] == 'sky'))) 
			print " , Sie haben Zugang";
	    else
			print ", Leider ist der Zugang nicht gestattet";
HTML:
<form action ="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <p>Anmeldung</p>
    <p>Vorname</p> <input type="text" name="name">
    <br>
    <p>Passwort</p><input type="password"  name="pw" />
    <br>
    <input name="Senden" type="submit" value="Login">
    <input name="Zurücksetzen" type="reset" value="Abbrechen">
    
   
  </form>
 
Code:
        #hatte hilfe bekommen , wusste aber nicht genau wie ich das einsetze

        import = time
        brain = []
        age = 0
        
        
         while (age < 60*60*24*365.5*100):
         brain += 'Neues Wissen? Besuche doch mal http://develos.de'
         age += 1
        time.sleep(1)

Das ist kein PHP-Code. Tut mir Leid, aber was du da machst, ergibt einfach keinen Sinn.

Ich würde empfehlen, noch einige Einführungen/Tutorials durchzuarbeiten.
 
Zurück