Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „PHP-Fehler "Undefined Index"“

ScHn1tz3L

Nicht mehr ganz neu hier

Hallo zusammen,

ich habe folgendes Problem:
Ich will dem User ein Passwort senden, wenn er es vergessen hat, allerdings spuckt PHP immer ne Fehlermeldung aus...

Fehler: Undefined index: passwort in -blablabla-passwort_senden.php on line 36 Es wurde Ihnen eine E-Mail mit einem neuen, zufälligen Passwort an max@mustermann geschickt.

Hier der Code:

Code:
	if(isset($_POST['senden'])AND(isset( $_POST['email']))) {
		$email = $_POST['email'];
		include_once 'functions.inc.php';
		dbconnect();
		$sql = 'SELECT name FROM reportunio WHERE email=\''.$_POST['email'].'\''; 
		$ergebnis = mysql_query($sql); 
		$array1 = mysql_fetch_array($ergebnis);
		$passwort = md5(createRandomPassword());
		echo $passwort;
		$update = 'UPDATE reportunio SET passwort = \''.$passwort.'\' WHERE email=\''.$_POST['email'].'\'';
		$nachricht = "Name: {$array1['name']}    neues, vorläufiges Passwort: {$array1['passwort']}";
		mail($email, 'Passwort', $nachricht);
		echo 'Es wurde Ihnen eine E-Mail mit einem neuen, zufälligen Passwort an '.$email.' geschickt.';
	}

ich wäre euch sehr dankbar, wenn jemand vielleicht eine Vermutung hat, ich sehe da nichts was "undefined" ist.

lg Schnitzel
 

Duffman15

Nicht mehr ganz neu hier

AW: PHP-Fehler "Undefined Index"

Das scheint ja nicht das ganze Script zu sein, da dieses hier keine 36 Zeilen hat. Spontan würde ich mal sagen, dass $array1['passwort'] nicht gesetzt wurde.
 

Christian

verpeilt & verschallert

AW: PHP-Fehler "Undefined Index"

mach doch erstmal einfach
PHP:
	if(isset($_POST['senden'])AND(isset( $_POST['email']))) {
		$email = $_POST['email'];
		include_once 'functions.inc.php';
		dbconnect();
		$sql = 'SELECT name FROM reportunio WHERE email=\''.$_POST['email'].'\''; 
		$ergebnis = mysql_query($sql); 
		$array1 = mysql_fetch_array($ergebnis);
//<ACHTUNG>
print_r($array1);
die;
//</ACHTUNG>
		$passwort = md5(createRandomPassword());
		echo $passwort;
		$update = 'UPDATE reportunio SET passwort = \''.$passwort.'\' WHERE email=\''.$_POST['email'].'\'';
		$nachricht = "Name: {$array1['name']}    neues, vorläufiges Passwort: {$array1['passwort']}";
		mail($email, 'Passwort', $nachricht);
		echo 'Es wurde Ihnen eine E-Mail mit einem neuen, zufälligen Passwort an '.$email.' geschickt.';
	}

Edit:
Oh man, also ich hab mir ja jetzt mal die muehe gemacht und eineninhald mal reingeschaut in das Script.
Dein Fehler liegt hier:
$sql = 'SELECT name FROM reportunio WHERE email=\''.$_POST['email'].'\'';
$ergebnis = mysql_query($sql);
$array1 = mysql_fetch_array($ergebnis);
und hier:
$nachricht = "Name: {$array1['name']} neues, vorläufiges Passwort: {$array1['passwort']}";
In deinem SQL Statement fragst Du nur nach "name", was dann auch nur als einziges Objekt in der Datenbank vorhanden sein kann.
richtigerweise wäre es so:
PHP:
$nachricht = "Name: {$array1['name']}    neues, vorläufiges Passwort: {$passwort}";

Generell solltest Du dir den Tipp zu gute kommen lassen, dass sobald etwas undefined ist auf Spurensuche zu gehen. Bei Arrays ist es einfach denn das kann man mit print_r( ) leicht nachvollziehen. Sobald aber eine normale Variable undefined ist, wirds schon lustiger, wenn dein Script über 6-7 Seiten geht. Gewöhn dich schonmal dran, das wird nicht das letzte mal gewesen sein ;-)
 
Zuletzt bearbeitet:

ProfBoom

Noch nicht viel geschrieben

AW: PHP-Fehler "Undefined Index"

Noch eine kleine Anmerkung am Rande:
Du solltest dir angewöhnen KEINEM Userinput zu trauen und alles zu überprüfen.
Sieh dir dafür mal PHP: mysql_real_escape_string - Manual an.

Ein weiteres googeln nach SQL-Injection kann auch nur empfohlen werden, da es bei dem Link oben nur angeschnitten wird.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.158
Beiträge
2.581.880
Mitglieder
67.226
Neuestes Mitglied
Alec168
Oben