it-swarm.com.de

Verwendung einer PHP Variable in einem Texteingabewert = Anweisung

Ich rufe drei Informationen aus der Datenbank ab, eine Ganzzahl, eine Zeichenfolge und ein Datum.

Ich bestätige sie, um zu überprüfen, ob die Variablen die Daten enthalten.

Wenn ich dann die Variablen zum Auffüllen von drei Eingabefeldern auf der Seite verwende, werden sie nicht richtig ausgefüllt.

Folgendes funktioniert nicht:

id: <input type="text" name="idtest" value=$idtest>

Ja, die Variable muss sich innerhalb von <? Php var?> Befinden, damit sie sichtbar ist.

So:

id: <input type="text" name="idtest" value=<?php $idtest ?> />

Das Feld zeigt / an.

Wenn ich die Anführungszeichen entkomme,

id: <input type="text" name="idtest" value=\"<?php $idtest ?>\"  />

das Feld zeigt dann \"\" an.

Mit einfachen Anführungszeichen

id: <input type="text" name="idtest" value='<?php $idtest ?>'  />

das Feld zeigt nichts oder nichts an.

Mit einfachen Anführungszeichen,

id: <input type="text" name="idtest" value=\'<?php $name ?>\'  />

das Feld zeigt \'\' an.

Mit einem Schrägstrich (ich weiß, dass das nicht richtig ist, aber um es aus der Diskussion auszuschließen),

id: <input type="text" name="idtest" value=/"<?php $name ?>/"  />

das Feld zeigt /"/" an.

Doppelte Anführungszeichen, Escape-Anführungszeichen, Escape-Anführungszeichen nur auf der linken Seite usw. funktionieren nicht.

Ich kann ein Eingabefeld auf eine Zeichenfolge setzen. Ich habe nicht versucht, eine Sitzungsvariable zu verwenden, da ich dies lieber vermeiden möchte.

Was fehlt mir hier?

7

Versuchen Sie etwas so:

<input type="text" name="idtest" value="<?php echo htmlspecialchars($name); ?>" />

Das ist dasselbe wie das, was thirtydot vorschlug mit Ausnahme der Verhinderung von XSS-Angriffen.

Sie können auch die <?=-Syntax (siehe Hinweis) verwenden, obwohl dies möglicherweise nicht auf allen Servern funktioniert. (Es ist durch eine Konfigurationsoption aktiviert.)

36
icktoofay

Sie benötigen zum Beispiel:

<input type="text" name="idtest" value="<?php echo $idtest; ?>" />

Die echo-Funktion gibt tatsächlich den Wert der Variablen aus.

6
thirtydot

Lösung

Ihnen fehlt ein echo . Jedes Mal, wenn Sie den Wert einer Variablen in HTML anzeigen möchten, müssen Sie sie wiederholen.

<input type="text" name="idtest" value="<?php echo $idtest; ?>" >

Hinweis: Abhängig vom Wert ist Ihr Echo die Funktion, mit der Sie es wie htmlspecialchars umgehen.

2
jckhan

Aus HTML-Sicht wurde alles gesagt, aber um den PHP-Ansatz etwas zu korrigieren und den Rat von thirtydot und icktoofay zu berücksichtigen:

<?php echo '<input type="text" name="idtest" value="' . htmlspecialchars($idtest) . '">'; ?>
2
8084635

Wenn Sie eine erstellte Funktion lesen möchten, gehen Sie wie folgt vor:

<input type="button" value="sports" onClick="window.open('<?php sports();?>', '_self');">
0
John Don