einfache echo Ausgabe mit HTML Standard...

Darian

Erfahrenes Mitglied
Hallo Leute,

als ich mal in einem Chat was gefragt habe, wurde ich geschimpft weil mein Code von jeglichem Standard abweicht. :-)

Ich habe nun vor das zu ändern. Ich sollte außerdem beginnen keinen HTML Code mit echo auszugeben, weiß zwar nicht warum nicht, aber so ist es angeblich üblicher.

Würde zum Beispiel das hier passen. Von den Anführungszeichen her?

PHP:
<?php echo $row[3] . '<input type="button" value="Editieren" name="editieren" onClick="this.href=http://' . htmlentities($_SERVER["HTTP_HOST"]) . '?' . htmlentities($_SERVER["QUERY_STRING"]) . '&id=' . $row[0] . '">'?>

Bitte gegenfalls um Verbesserungen für meinen Stil.

lg und danke
Darian
 
Nicht ganz.
PHP:
<?php echo $row[3] . '<input type="button" value="Editieren" name="editieren" onClick="' . htmlspecialchars('this.href="http://'.$_SERVER["HTTP_HOST"].'?'.$_SERVER["QUERY_STRING"].'&id='.$row[0].'"') . '">';
 
Danke Gumbo,

das habe ich jetzt so geändert, aber das bleibt sich trotzdem vom Ausführen her gleich. Aber ist es dann wohl schöner mit nur einer Funktion.

Mir ist übrigends gerade aufgefallen dass das onclick eh nicht funktioniert...:-)

Mal danke für die Infos...

Darian
 
Damit dein onClick funktioniert würd ich so wenig wie möglich über echo(); ausgeben und das meiste in normalen HTML-Code schreiben.

PHP:
<?php echo($row[3]); ?> <input type="button" value="Editieren" name="editieren" onClick="this.href=http:// <?php echo(htmlspecialchars($_SERVER["HTTP_HOST"])); ?>? <?php echo(htmlspecialchars($_SERVER["QUERY_STRING"]))&id= <?php echo($row[0]); ?> ">

Ich habe leider grad keine Möglichkeit das genauestens zu testen, aber ich denke so in der Richtung solltest du es mal versuchen.
 
Hallo, danke dir für die Erklärung.

Jetzt verstehe ich wie die Leute es immer meinen dass man den HTML Code nicht mit dem echo ausgeben soll, es reicht also immer wieder html Tag zu Beenden und wieder zu Beginnen. Ich dachte man sollte es irgendwie mehr trennen, und ich wusste nicht wie.

Das mit onClick funktioniert leider immer noch nicht, ich habe jetzt mal ein Testfile erstellt, das nicht funktioniert:

HTML:
<form name="test" action="" method="get">
<input type="button" value="klick" name="test" onclick="this.href=http://sigon.net">
</form>

Dachte mit einem simplen Testfile könnte ich es mal Fehlereingrenzen.

Geht das so Oder müßte ich im Header zuerst noch was wie JavaScript wird verwendet angeben?

lg Darian
 
Du solltest in die <form> bei action die Seite in die Anführungszeichen eintragen, die du aufrufen willst und deinen Inputtype auf submit ändern und dann kannst du dir dein onClick sparen und die Seite wird geladen, sofern sie im selben Verzeichnis steht.
 
Ja, das stimmt schon, ist ja nur ein Test.

Ich brauche dass weil bei dem editieren eines Gästebuches bei jedem Beitrag ein Button erstellt wird, und dieser übergibt mit einem Link die ID zum Editieren.

Mit Action eintragen und submit benutzen ist das leider nicht Möglich.

Das ist wie gesagt nur ein Beispiel um das onClick zu Testen.

lg Darian
 
Also dann würd ich entweder eine richtige <form> aufbauen und es mit Submitbutton und der Postmethode machen oder einen normalen Link machen und dem nur ein Bild mitgeben, also so á la

HTML:
 <a href=""><img src=""></a>

Am besten ist es nämlich, wenn man so wenig wie möglich mit Javascript arbeitet, da der User dieses bei sich ausstellen kann und du dann nichts gewonnen hast.
 
Das wäre allerdings eine Möglichkeit die ich auch verstehe.

Einfach ein bild verlinken, da könnte ich die Variablen übergeben, und müßte funktionieren.

Das könnte ich gleich einmal probieren.

Interessant wäre es aber trotzdem noch wieso das nicht geht mit onclick. (nur um was daraus zu lernen)

lg und danke für deine Hilfe
Darian
 
Ich habe mal ein bisschen gesucht, weil ich nahezu garnicht mit Javascript arbeite und würde dir mal vorschlagen es so zu probieren

HTML:
<form name="test" action="" method="get">
<input type="button" value="klick" name="test" onclick="top.location.href='http://sigon.net'">
</form>

Du hast nämlich scheinbar in erster Linie die Hochkommas um die URL vergessen. :)
 
Zurück