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?

Den code eingefügt, hier funktioniert (außer für das hinzufügen von 1-loop oder eine bessere Nutzung 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

Schreibe einen Kommentar