PHP Mehrere Wörter aus Datenbank in Textfeld anzeigen

_Headsh0t_

Ensign
Registriert
Juni 2011
Beiträge
227
Hallo,
ich schreibe gerade an einer Clan-Seite und man soll die Daten der eingetragenen Spieler natürlich über die Seite auch verwalten können.
Die Spieler werden in einer Tabelle ausgegeben (und aus der Datenbank ausgelesen) und sollen als Admin verändert werden.
Klick ich nun einen Spieler an öffnet sich eine weitere Seite wo Textfelder sind, die alle Daten des Users enthalten
Bsp:
Username: [ ]
Rang: [ ]
etc.

Die Textfelder sollen nicht leer sein, sondern enthalten die aktuellen Daten. Das Problem ist aber, dass dort immer nur der erste "Teil", bzw das erste Wort eingetragen wird.
In der Datenbank steht bei Username z.B. "Sir Thala", im Textfeld wird dann aber nur nur "Sir" angezeigt. In der Datenbank ist das Feld als TEXT deklariert mit der Kollation "latin1_swedish_c"

Hoffe mir kann jemand helfen

Code:
PHP:
 echo "<td><input name='name' type='text' value=".$zeile['name']." size='20' maxlength='40'></td>";
 
Und wie wird $zeile befüllt?

Zeig doch auch mal den fertigen HTML Code, der dann im Browser landet.
 
PHP:
$id = $_GET["id"];

$sqledit = "SELECT * FROM members WHERE id='$id'";
$resultedit = mysql_query($sqledit, $connection);
$zeile = mysql_fetch_array($resultedit, MYSQL_ASSOC);
 
1. Wiso latin1_swedish_c?
2. Übergebene Parameter sollten validiert werden bevor sie der Datenbank bzw einer Abfrage übergeben werden (Stichwort: SQL Injection).
 
Du hast zwei ' zuwenig.

PHP:
echo "<td><input name='name' type='text' value='".$zeile['name']."' size='20' maxlength='40'></td>";


Tipps am Range:
mysql ist veraltet. Du solltest stattdessen mysqli verwenden.
GET Variable direkt an die Datenbank weitergeben = sehr schlechte Idee. Mit dem Aufrufen einer URL könnte man z.B. die gesamte Datenbank löschen, Passwörter auslesen, usw. Stichwort: SQL Injektion. Verwende lieber fertige Librarys um mit deiner Datenbank zu kommunizieren. z.B.: http://www.meekro.com/index.php

@Lawnmower:
Weil "latin1_swedish_c" die default Einstellung von Mysql ist, wenn man nicht extra was anderes nimmt. (z.B. UTF8)
 
Danke hat an den Zwei ' gelegen :)

Okay, dann werd ich mal die Library benutzen. Mir ist das ganze sowieso zu unsicher gewesen, wollte erstmal ein Grundgerüst schaffen.
 
Ja, aber warum schaffst du dieses Grundgerüst überhaupt selbst? Wozu gibts denn Frameworks? Dein gesamtes Problem hängt doch am Ende daran, dass du nicht von Anfang an korrekt gearbeitet und auf eines der gängigen Frameworks gesetzt hast: Zend, Laravel, Symfony2,...
 
Das was dir Daaron vorschlägt ist der Goldweg. Du lernst hier (PHP)Programmieren auf einem viel höheren Level.
Wenn du die Begeisterung und Zeit hast, arbeite dich in ein Framework ein.
Nur ich würd Yii bzw. Yii2 nehmen :D
 
Zurück
Oben