<input type="text" value=""> mit $variable füllen

Kopfballstar

Erfahrenes Mitglied
In der Variable $titel befindet sich ein Inhalt. Dieser soll im Formular angezeigt werden, aber das Fortmular bleibt einfach leer. Wo hab ich einen Fehler gemacht?
Hier ist mein Code:

echo "<p>Titel der News: <input name='titel' type='text' size='40' length='40'
value=' ".$titel." '></input></p>";
 
Da steht length in Deinem <input>. Das ist ein mir unbekanntest Attribut und gehört da sicher nicht hin.
Vielleicht liegt es daran. Aber wenn nicht, bist Du sicher, dass in $titel auch wirklich etwas drin steht? Vielleicht liegt der Fehler da?
Wo kriegst Du denn $titel her?

redlama
 
Zuletzt bearbeitet:
Hallo,
ok, das mit length könnte es sein, probier ich direkt. In $titel steht was drin weil ich den Inhalt aus der DB hole und vorher auch testweise auslese...

// edit

Nein, also wenn ich length weglasse funktioniert es auch nicht :confused:
 
Dann wird es mit Sicherheit an $titel liegen.
Ansonsten ist der Code nämlich in Ordnung, ...
Mach doch mal direkt vor dem <input> folgendes:
PHP:
echo "Titel = >$titel<";
Wenn da was angezeigt wird, ist $titel ok und der Fehler muss ganz wo anders liegen, ...

redlama

P.S. length kannst Du trotzdem weglassen, da es das nicht gibt!
 
Probier mal:
PHP:
printf("<p>Titel der News: <input name='titel' type='text' size='40' length='40' value='%s '></input></p>",$titel);
 
Also wenn ich
echo "Titel = >$titel<";
ausprobiere dann wird folgendes ausgegeben:
Titel = ><
Also ist $titel irgendwie leer, aber das kann nicht sein!
Ich mache einen Select aus der DB und fetsche das Ergebnis. Dann gebe ich die Variablen in die gefetched wird mal zum testen aus und alle haben Inhalt, genauso wie es sein soll.
Wenn ich die $titel jetzt im Formular ausgeben will ist sie plötzlich angeblich leer... :confused:

$getdata = "select * from news where id = ".$rbutton."";
$data = mysql_db_query($db,$getdata,$verbindung);

while(list(,$titel,$inhalt,$link1_titel,$link1_inhalt,$link2_titel,$link2_inhalt,$link3_titel,$link3_inhalt,$datum_eintrag,$datum_begin, $datum_ende, $interessent, $student, $unternehmen)=mysql_fetch_array($data)){
echo "<br>one = ".$titel;
echo "<br>two = ".$inhalt;
echo "<br>three = ".$link1_titel;
echo "<br>four = ".$link1_inhalt;
echo "<br>five = ".$link2_titel;
echo "<br>six = ".$link2_inhalt;
echo "<br>seven = ".$link3_titel;
echo "<br>eight = ".$link3_inhalt;
echo "<br>nine = ".$datum_eintrag;
echo "<br>ten = ".$datum_begin;
echo "<br>eleven = ".$datum_ende;
echo "<br>twelve = ".$interessent;
echo "<br>thirteen = ".$student;
echo "<br>fourteen = ".$unternehmen;
}


echo "<p>Titel der News:
<input name='titel' type='text' size='40' length='40' value='".$titel."'>".$titel."</input></p>";
echo "</div>";
// Hilfsvariablen


// Fetch
/* $titel = $_POST[titel];
$inhalt = $_POST[inhalt];
$link1_titel = $_POST[link1_titel];
$link1_inhalt = $_POST[link1_inhalt];
$link2_titel = $_POST[link2_titel];
$link2_inhalt = $_POST[link2_inhalt];
$link3_titel = $_POST[link3_titel];
$link3_inhalt = $_POST[link3_inhalt];
$datum_begin = $_POST[datum_begin];
$datum_ende = $_POST[datum_ende];
$interessent = $_POST[interessent];
$student = $_POST[student];
$unternehmen = $_POST[unternehmen];
*/


// Formulare
echo " <form action='edit_value.php' method='post'>";

echo "<div id='1' style='position:absolute; top:50'>";

echo "<table border='0'>";

echo "<tr>";
echo "<td>";

echo "Titel = >$titel<";
echo "<p>Titel der News:
<input name='titel' type='text' value='".$titel."'></input></p>";

// edit
Alles klar. In der While Schleife sind die Variablen gefüllt. Verlasse ich die While Schleife sind sie wieder leer. Das hab ich durch testen grad rausgefunden. Aber was kann ich tun damit die Variablen gefüllt bleiben?
 
Da Du ja anscheinend mehrere Ergebnisse bekommst, solltest Du diese in einem Array speichern (in der While-Schleife). Und dann kannst Du die entsprechenden Inhalte des Arrays wieder auslesen, wann, wo und wie Du willst.

redlama
 
Zurück