• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] [PHP] - Mir Fehlen Zeichen Wie : " oder '

Transformator

New member
Code:
<li><b id="obj1">Beispiel 1</b><button onclick="durchstreichen()">X</button></li>
Dieser Code oben wird später mit php ausgegeben,
also so :
Code:
echo('<li><b id="obj1">Beispiel 1</b><button onclick="durchstreichen()">X</button></li>';

Das Problem ist das die Funktion durchstreichen() mit
Parametern Ausgeführt werden soll! In diesem
Fall mit "obj1" nun ist das Problem welche
Zeichen soll ich benutzen um JavaScript zu sagen das das ein String ist ?
" wird von Html belegt und ' benutze ich für PHP.

Gibt es noch mehr? So wie ` bei SQL ?

Ach übrigens: \" geht nicht :(
 
OH Gott,

Hab nicht nachgedacht ich brauch das nicht,
Hab vergessen das das in der Datenbank gespeichert werden muss
was gelöscht ist und was nicht :D
 
Doku schrieb:
echo ist nicht wirklich eine Funktion sondern ein Sprach-Konstrukt, daher brauchen Sie keine Klammern verwenden. echo verhält sich im Gegensatz zu einigen anderen Sprach-Konstrukten nicht wie eine Funktion, deshalb kann es nicht immer in einem Funktionskontext verwendet werden. Hinzu kommt, dass bei der Angabe mehrerer Parameter für echo diese nicht von Klammern umschlossen sein dürfen.
D.h., die Schreibweise ist eigentlich nicht
PHP:
echo();
, sondern
PHP:
echo "Blablabla";

Man muss Anführungszeichen einfach nur escapen, dann kann man problemlos mehrere ineinander kombinieren. Tutorials | PHP : Einsteiger | Escapen in PHP
 
OMG das escapen geht aber nicht für html oder ?
und ich hab in nem html Dokument probiert !

Tut mir leid, das verstehe ich nicht ganz. Natürlich muss du HTML, dass du per echo ausgibst escapen. Oder meintest du eine .html-Datei? Aber da kannst du keinen PHP-Code drin ausführen...
 
Code:
echo '<li><b id="obj1">Beispiel 1</b><button onclick="durchstreichen("obj1")">X</button></li>';
- aber ich würde die Funktion durchstreichen ja umschreiben, so dass sie keine ID, sondern eine Node erwartet. Zusätzlich würde ich auf dem <li> operieren. Das Ganze würde dann so aussehen:
Code:
echo '<li><b>Beispiel 1</b><button onclick="durchstreichen(this.parentNode)">X</button></li>';
Das Ganze ist flexibler und einfacher zu warten, da man sich nicht merken muss, welche ID man schon verwendet hat...
 
@Julian:
Tut mir leid, das verstehe ich nicht ganz. Natürlich muss du HTML, dass du per echo ausgibst escapen. Oder meintest du eine .html-Datei? Aber da kannst du keinen PHP-Code drin ausführen...

nein nein ich habe nur voraus gedacht,
das ganze war noch gar nicht in einem echo also wurde es auch nicht nach php regeln ausgeführt.
und es scheint mir zumindest so als ob in html \" nicht geht :D

@kkapsner:
nur mal so als frage was macht dieser Code :
Code:
echo '<li><b>Beispiel 1</b><button onclick="durchstreichen(this.parentNode)">X</button></li>';
besser gefragt was sind nodes? (kann man nodes sagen ?)
 
Keine Ahnung, was dieser Code macht, da ich die Funktion durchstreichen nicht kenne. ;)

Aber this ist eine Referenz auf die Node, bei der der Eventlistener registriert ist (also hier der <button>). this.parentNode ist dann eine Referenz auf das Elternelement also das <li>.

Ganz vereinfacht kann man sagen, dass eine Node die Repräsentation eines HTML-Tags im Browser ist. Ist jetzt natürlich vereinfacht und deckt nicht alle Feinheiten ab, aber ich würde sagen, dass du mit dieser Definition arbeiten kannst.
 
@kkapsner
Aber this ist eine Referenz auf die Node, bei der der Eventlistener registriert ist (also hier der <button>). this.parentNode ist dann eine Referenz auf das Elternelement also das <li>.
Ganz vereinfacht kann man sagen, dass eine Node die Repräsentation eines HTML-Tags im Browser ist. Ist jetzt natürlich vereinfacht und deckt nicht alle Feinheiten ab, aber ich würde sagen, dass du mit dieser Definition arbeiten kannst.

Danke !
@Julian:

Auch Danke !
 
Zurück
Oben