2010-10-01 6 views
2

J'ai une question.

Actuellement, ce formulaire sera généré dynamiquement.

Exemple,

<form method="POST"> 
<input type="text" name="location" id="location1" /> 
<input type="submit" value="Submit!" /> 

<input type="text" name="location" id="location2" /> 
<input type="submit" value="Submit!" /> 

<input type="text" name="location" id="location3" /> 
<input type="submit" value="Submit!" /> 

<input type="text" name="location" id="location4" /> 
<input type="submit" value="Submit!" /> 
</form> 

Donc, chaque fois que je presse soumettre, il prendra la dernière valeur de forme. Comment est-ce que je le fais prendre tout $ _POST?

Merci.

Répondre

4

Donner à chaque entrée son propre nom ou de l'utilisation:

<input type="text" name="location[]" id="location1" /> 

alors PHP traiter comme un tableau.

+1

Ah, quelque temps la chose simple que vous pourriez oublier après avoir fait face pendant quelques heures de codage. –

8

Vous pouvez donner à chaque champ un nom unique: location1, location2 ....

Sinon, vous pouvez créer un tableau.

Pour ce faire, ajoutez un [] au nom de chaque élément:

<input type="text" name="location[]" id="location1" /> 

cela vous donnera un tableau dans $_POST["location"].

Ne pas oublier que avant d'utiliser les données (par exemple dans une requête de base de données ou de sortie de page) vous devez aseptiser chaque élément de tableau séparément (en utilisant mysql_real_escape_string() ou htmlspecialchars() ou tout ce qui est nécessaire dans votre situation.)

2

Soit donner à chaque entrée un attribut de nom différent, par exemple location1, location2, Location3 et Emplacement4 accéder ensuite avec $_POST['location1']$_POST['location2'] etc.

En variante (et probablement préférable que cette forme est généré « dynamique »), les changements l'attribut name de chaque entrée à l'emplacement [] puis accède aux valeurs entrées comme un tableau en PHP. Par exemple ...

HTML

<form method="post"> 
    <input type="text" name="location[]" id="location1" /> 
    <input type="submit" value="Submit!" /> 

    <input type="text" name="location[]" id="location2" /> 
    <input type="submit" value="Submit!" /> 

    <input type="text" name="location[]" id="location3" /> 
    <input type="submit" value="Submit!" /> 

    <input type="text" name="location[]" id="location4" /> 
    <input type="submit" value="Submit!" /> 
</form> 

PHP

print_r($_POST['location']);