die übergabe von array-Daten aus einem html-Formular, php array-Variablen
Ich habe ein Formular zum erfassen der Stunden arbeitete an einer Reihe von Projekten. das Formular verwendet ein array für die Projekt-id, Stunden, und ein Feld für Notizen, mit dem Formular-Linien eine Schleife über die Anzahl der Projekte. das Formular übergibt die Daten an ein PHP-Skript für die Verarbeitung. Das PHP-Skript ist nicht zu sehen, die Werte im array... es ist nur so dass Sie mir "Array" als Ausgabe.
Dokumentation und weitere Beispiele haben mich gefragt, ob ich serialisieren oder unserialize oder etwas anderes, um die Dinge richtig zu arbeiten, aber mehrere versuche sind erfolglos gewesen.
In der form:
<form action="input-hours-do.php" method="post">
<table>
<tr>
<td>Project</td>
<td>Hours</td>
<td>Notes</td>
</tr>
<?
//assign project IDs
$rhprID[0] = "ABT";
$rhprID[1] = "GHUR";
$rhprID[2] = "TRE";
$rhprID[3] = "WERT";
//loop on the projects
for ($i = 0; $i < 3; $i++)
{
?>
<!-- project id is not editable -->
<input type="hidden" name="rhprID[]" value="<? echo $rhprID[$i]; ?>" />
<tr>
<td>
<?php echo $rhprID[$i] ?>
</td>
<td>
<input type="text" name="rhHours[]" size="6" />
</td>
<td>
<input type="text" name="rhNotes[]" size="40" />
</td>
</tr>
<?
} //end of i for loop
?>
</table>
<input type="submit" name="tUpdate" size="8" value="Submit Hours" />
</form>
in der action-Skript (input-hours-do.php):
$rhprID = $_POST['rhprID'];
$rhHours = $_POST['rhHours'];
$rhNotes = $_POST['rhNotes'];
echo "count of prid is " . count($rhprID) . "</br>";
for ($k = 0; $k < count($rhprID); $k++)
{
echo " prID is: " . $rhprID[$k] . " hours are: " . $rhHours[$k] . " notes are: " . $rhNotes[$k];
}
?>
Ausgabe von dies ist:
Anzahl der rhprid 1
prID ist: die öffnungszeiten sind: Einer Noten: Ein
Also:
- es scheint zu denken, dass das array nur 1 element lang
- es nicht immer auf die Werte im array ("A" ist der erste Buchstabe von "Array", so Ihr nur mit dem string-variable, nicht die zugrunde liegenden Datenwerte).
Was muss ich ändern um auf die zugrunde liegenden Daten Werte?
foreach
). Es zeigt die 3 Elemente in der Ausgabe. Stellen Sie sicher, dass Sie nicht ein syntax-Fehler woanders.vielen Dank für deinen input....Ich hatte vor einigen code, der die Anwendung zu trimmen, um die POST-Daten. wenn ich fand, dass code aus, alles funktioniert wie erwartet.
InformationsquelleAutor steve | 2013-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ort php-codes in
<?php ?>
tag nicht<? ?>
, und es wird gut:und in input-hours-do.php Datei folgenden code schreiben :
UPDATE : Sie haben 4 Projekt-id,so müssen Sie Bearbeiten $i in der for-Schleife werden weniger als 4 und nicht 3,
Hab ich überprüft ! es hat,wie führen Sie Ihren code ? Ich benutze wamp server,haben Sie alle dienen zum ausführen des Codes auf ?
ja....Sie läuft erfolgreich auf einem server in gogaddy
Bekomme ich den "Graf von prid 4" so mein code ist richtig,ich denke, es ist ein problem mit Ihrem server,es laufen nur <?php phpinfo() ?> auf deiner Seite und sehen Sie, wenn Sie kein Ergebnis.
dies ist meine vollständige Ausgabe : Anzahl der prid 4 prID: ABT Stunden: Stunden-Notizen: Notizen prID: GHUR Stunden: Stunden-Notizen: Notizen prID: TRE Stunden: Stunden-Notizen: Notizen prID: WERT Stunden: Stunden-Notizen: Notizen
InformationsquelleAutor Shirin Abdolahi