Supportnet / Forum / Skripte(PHP,ASP,Perl...)
nach klick auf Button ein Eingabefeld hinzufügen!
Frage
Hallo,
ich mache grade ein kleines Script bei dem man Kochrezepte in eine MySQL-DB eintragen kann. Mein Formular sieht wie folgt aus:
[code]
<form method="post" action="hinzufuegen.php">
<table width="74%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="12%" class="normal" scope="col">Zutat 1: </td>
<td width="63%" scope="col"><input name="zutat1" type="text" size="70" maxlength="100"></td>
<td width="25%" scope="col"> </td>
</tr>
<tr>
<td class="normal" scope="row"><span class="normal">Zutat 2: </span></td>
<td><input name="zutat2" type="text" size="70" maxlength="100"></td>
<td> </td>
</tr>
... //usw. bis Zutat 10, also 10 Zeilen sind vordefiniert
<?php
//erzeugt 84825 Zeilen undbricht dann ab
if ($weiter=="eine weitere Zeile")
{
for ($i=11;$i+1;$i++)
{
echo "<tr>";
echo "<td class=\"normal\" scope=\"row\">Zutat $i: </td>";
echo "<td><input name=\"zutat$i\" type=\"text\" size=\"70\" maxlength=\"100\"></td>";
echo "</tr>";
}
}
?>
</table>
<p>
<input name="weiter" type="submit" value="eine weitere Zeile">
</p>
<p class="tabellenkopf">Zubereitung</p>
<p>
<textarea name="textarea" cols="100" rows="10" wrap="PHYSICAL"></textarea>
</p>
</form>
[/code]
Irgendwie erzeugt er in dem php-Teil eine Endlosschleife. Es soll in dem PHP-Teil eine weitere Zeile hinzugefügt werden, wenn man auf den Button "eine weitere Zeile" klickt. Ich finde den Fehler leider nicht. Kann mir vielleicht jemand einen Tipp geben???
Danke, Ines
Antwort 1 von Nessus
Hi,
Da hast Du eine tolle Endlosschleife.
Nessus
Zitat:
for ($i=11;$i+1;$i++)
for ($i=11;$i+1;$i++)
Da hast Du eine tolle Endlosschleife.
Nessus
Antwort 2 von Ines123
Ja, ich dachte mir schon, dass es daran liegt. Hast Du einen Tipp, wie ich es besser machen kann, bin am verzweifeln, hab schon viel probiert, aber irgendwie erfolglos :-(.
Ines
Ines
Antwort 3 von Claas
Du hast als Startwert für $i 11 gewählt.
Bei jedem Durchgang wird es um 1 erhöhrt.
Und es soll aufhören bei $i+1 also wenn i=1 dann hört es bei 2 auf, wenn i=2 ist dann bei drei etc. das ist ne endlosschleife. du musst nen festen werde für das ziel wählen. also zum beispiel 14 oder sonstwas.
Ich versteh aber auch die Schleife nicht. Bei jedem Klick des Buttons wird PHP doch neugestartet, d.h. jedesmal fängt $i von vorne an.
Bei jedem Durchgang wird es um 1 erhöhrt.
Und es soll aufhören bei $i+1 also wenn i=1 dann hört es bei 2 auf, wenn i=2 ist dann bei drei etc. das ist ne endlosschleife. du musst nen festen werde für das ziel wählen. also zum beispiel 14 oder sonstwas.
Ich versteh aber auch die Schleife nicht. Bei jedem Klick des Buttons wird PHP doch neugestartet, d.h. jedesmal fängt $i von vorne an.
Antwort 4 von Ines123
Ja, stimmt. Ich muss also am besten das "i" beim draufklicken mit übergeben, oder? Und in der Schleife halt sagen, dass er die Schleife nur einmal ausführen soll.
Ich dreh mich irgendie im Kreis, ich wäre sehr dankbar, wenn mir jemand ein klein bisschen Code zur Verfügung stellen könnte.
Vielen Dank aber schon mal für die Tipps, ich probiere mal weiter :-).
Ines
Ich dreh mich irgendie im Kreis, ich wäre sehr dankbar, wenn mir jemand ein klein bisschen Code zur Verfügung stellen könnte.
Vielen Dank aber schon mal für die Tipps, ich probiere mal weiter :-).
Ines

