ganzen String in <INPUT> als VALUE festlegen!

uwee

Erfahrenes Mitglied
Hallo schon wieder!

Folgendes Szenario:
Ich mache eine Abfrage meiner MySQL-Db und möchte die Ergebnisse in Edit-Felder (INPUT) angezeigt haben. dabei ergibt sich folgendes Problem:
PHP:
[-]
<input name=name size=50 maxLength=50 value=",$row->name,"></input>
[-]
Mit diesem Quelltext wird ja der Inhalt aus dem Feld in der Db in des INPUT-feld geschrieben. Dummerweise NUR bis zum ersten Leerzeichen. Das heisst, wenn name "Hallo du da" beinhalten würde, steht im Feld hinterher nur "Hallo".
Es wird alles richtig weitergegebenm, ausgelesen und die Daten sind allesamt erfasst. Das habe ich mit diesem Quelltext getestet:
PHP:
[-]
<input name=name size=50 maxLength=50>",$row->name,"</input>
[-]
HINTER dem INPUT-Feld steht jetzt "Hallo du da".

Meine Frage: Wier bekomme ich es hin, dass der komplette String im INPUT-feld steht?!
btw: das ganze wird mit echo ausgegeben!

UweE
 
PHP:
echo "<input name='name' size='50' maxlength='50' value='".$row->name."'>
So müsste es gehen, ansonsten so:
HTML:
<input name="name" size="50" maxlength="50" value="<?php echo $row->name ?>">
Übrigens, <input> ist ja ok, aber was bitte soll </input> sein? Das gibt es nicht (zumindest nicht in html).

redlama
 
ähm, das </input> hab ich so gelernt...

das mit der Ausgabe in html kann ich so nicht machen, weil mein Quelltext so ausschaut:

PHP:
[-]
echo "<tr><td colspan=3>Änderungen bitte in die Felder eingeben!:</td></tr>\n";
while ($row=mysql_fetch_object($result)){
echo "<tr><td><b>Name:</b> 		</td><td><input name=name size=50 maxLength=50 value=",$row->id," disabled>",$row->id,"</input></td></tr>
<tr><td><b>Name:</b> 		</td><td><input name=name size=50 maxLength=50 value=",$row->name">",$row->name,"</input></td></tr>
[-]

Wenn ich die erste Lösung nehme, nimmt er nur den ersten Teil des Strings, nehme deine zweite Lösung, meckert er an den "?"
 
Also ich habe das gerade mal getestet.
Du machst das so:
PHP:
<input name=name size=50 maxLength=50 value=",$row->name,"></input>
Es muss aber so sein:
Code:
<input name=name size=50 maxLength=50 value='",$row->name,"'></input>

redlama
 
Olé DANKE! jetzt funktionierts richtig!

Thema erledigt.
Dummerweise blockt die scheiss firewall hier den Button für den Status. Wenn das bitte ein Mod oder Admin machen könnte?!
 
Erst mal </input> ist ja schon mal Quatsch, außerdem macht sehr viel Sinn einen PHP-tag in eine eine HTML-datei zu schreiben ohne <?php ?>
 
Das </input> ist eigentlich nur in xhtml wichtig.
Dort müssen laut W3C alle Tags, wie geöffnet werden auch wieder geschlossen werden.

Beispiel:
HTML 4:
<br>, <input ...>, <img ...>

XHTML:
<br />, <input ... />, <img ... />
oder:
<br></br>, <input ...></input>, <img ...></img>
 
Daxi hat gesagt.:
Das </input> ist eigentlich nur in xhtml wichtig.
Dort müssen laut W3C alle Tags, wie geöffnet werden auch wieder geschlossen werden.

Beispiel:
HTML 4:
<br>, <input ...>, <img ...>

XHTML:
<br />, <input ... />, <img ... />
oder:
<br></br>, <input ...></input>, <img ...></img>
Das ist falsch. Bei XHTML gibt es bei leeren Elementen kein schließendes.
 
Soweit ich weiß gibt soetwas wie </input>, </img>, ... nicht!
Tag die keinen Endtag besitzen werden immer in sich geschlossen <input ... />, <img ... />, ...

redlama
 
Ja, aber das ist jetzt ja auch egal wichtig ist, dass mann die Variable nur micht echo und im PHP-tag wiedergeben kann und man sie nicht einfach in den HTML-code schreiben kann.
 
Zurück