Problem im PHP mit dem "zurück-button"

Tobey85

Grünschnabel
siehe hier Code, vielleicht findet ihr den fehler von mir?

PHP:
/*Welche Fehlermeldung soll ausgegeben werden, wenn nicht alle Pflicht-Felder ausgefüllt sind?*/
$felderleer = "<p class=ueber1>Fehler</p><p>Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefüllt wurden, klicken sie bitte <a href="javascript:history.go(-1);" onMouseOver="window.status='&nbsp;Zur&uuml;ck'; return true" onMouseOut="window.status=''" >zur&uuml;ck</a></p>";

Danke!
 
Du schliesst den String zwischendurch, schreibst aber trotzdem weiter.
Du kannst sowohl ' als auch " nutzen um Strings oeffnen und zu schliessen. Du musst aber jeweils die gleichen nutzen.
Also so:
PHP:
$mystring='bla';
oder so:
PHP:
$mystring="bla";
Aber nicht so:
PHP:
$mystring='bla";
Dadurch kannst Du dann, wenn Du den String mit ' oeffnest und schliesst innerhalb des Strings mit " arbeiten, und umgekehrt.
 
Der Fehler liegt darin, das du beim href=", mit dem Zeichn " den String beendest. Und nachher kommt "javascript:[...]", und das kennt der PHP Interpreter nicht und gibt also eine Fehlermeldung aus.

Du kannst, wie Dennis Wronka sagte, mit ' arbeiten, da du den Strig mit " begonnen hast. Da du aber beide benötigst musst du alle ", die Angezeigt werden sollten mit einem \ escapen. Also folgendermassen:
PHP:
$felderleer = "
	<p class=ueber1>Fehler</p>
	<p>Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefüllt wurden, 
	klicken sie bitte <a href=\"javascript:history.go(-1);\"
	onMouseOver=\"window.status='&nbsp;Zur&uuml;ck'; return true\"
	onMouseOut=\"window.status=''\" >zur&uuml;ck</a></p>
";

Schon an der Farbe, wie der Code gehighlighted wird, siehst du, das an deinem etwas nicht stimmen kann:

PHP:
$felderleer = "
	<p class=ueber1>Fehler</p>
	<p>Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefüllt wurden,
	klicken sie bitte <a href="javascript:history.go(-1);"
	onMouseOver="window.status='&nbsp;Zur&uuml;ck'; return true"
	onMouseOut="window.status=''" >zur&uuml;ck</a></p>
";

Gruss
X
 
Eine frage noch,

kann ich vielleicht den Button dieser Code unten ins "zurück" umwandeln? Wie wäre die Code heissen?

Danke!

PHP:
<input type="submit" name="Submit" value="zurück"
 
Was sagst du? Schau doch bitte auf deine Schreibweise. Ist na nicht zu verstehen was du da schreibst.

Was möchtest du in was umwandeln? Also einfach einen zurück Button? Der würde so ausschauen:
HTML:
<a href="javascript:history.back()">Zur&uuml;ck</a>

;)
 
Willst Du einen richtig Zurueck-Button?
Dann probier mal das:
HTML:
<button type="button" onclick="javascript:history.back();">
 
Ich meine Button "zurück" einfügen, nicht Buchstabliche "zurück" sondern wie man bei google schreiben, dann "suchen" klicken, dieser button meine ich...

Wie soll ich in den php richtig schreiben?

etwa:

PHP:
$felderleer = "
    <p class=ueber1>Fehler</p>
    <p>Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefüllt wurden, 
    klicken sie bitte <button type="button" onclick="javascript:history.back();"></p>
";

?
 
Du musst darauf achten, mit welchen Anführungszeichen du die Zeichenkette auszeichnest. Diese zeichen müssen dann innerhalb der Zeichenkette maskiert werden, damit die Zeichenkette nicht vorzeitig abgebrochen wird. In deinem Fall wäre es jedoch einfacher die einfachen statt der doppelten Anführungszeichen zu verwenden:
PHP:
$felderleer = '
    <p class=ueber1>Fehler</p>
    <p>Die Nachricht konnte nicht versandt werden, da nicht alle Felder ausgefüllt wurden, 
    klicken sie bitte <button type="button" onclick="javascript:history.back();"></p>
';
Das button-Element ist übrigens kein leeres Element und besitzt auch kein type-Attribut. Dennis scheint es mit einer einfachen Schaltfläche, einem Subtyp des input-Elements, verwechselt zu haben:
HTML:
<button>Beschriftung</button>
<input type="button" value="Beschriftung">
 
Zurück