2010-09-15 3 views
2

S'il vous plaît aidez-moi, je suis tombé sur ce script dans mon projet. Est-ce tableau html ou tableau php?Est-ce un tableau html ou un tableau php?

<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" /> 
+10

Qu'est-ce qu'un tableau HTML? –

Répondre

3

Ceci est une combinaison entre les deux. Par exemple, les éléments suivants:

<input type='text' name='arr[foo]' value='fooValue' /> 
<input type='text' name='arr[bar]' value='barValue' /> 

Lorsqu'ils sont soumis, ce sera lu par PHP dans un tableau appelé arr, qui ressemble à ceci:

$_POST['arr'] (
    'foo' => 'fooValue', 
    'bar' => 'barValue' 
) 

Cela fait pouvoir passer des tableaux à votre script PHP beaucoup plus facile, soit par la génération de PHP, soit par javascript, ou similaire. L'exemple spécifique que vous avez est d'utiliser un tableau PHP pour générer du code HTML qui peut ensuite être lu comme un tableau dans le prochain script PHP, mais HTML lui-même n'a pas le concept d'un tableau.

+0

vous étiez tellement proche hehe – RobertPitt

+0

@RobertPitt Ignorer mon formatage pas mon tableau d'une manière sémantiquement correcte, qu'est-ce que j'ai manqué? – Tarka

+0

Votre explication de la façon dont PHP reçoit des données POST, pas comment PHP est réellement combiné avec des données html telles que '' – RobertPitt

3

Cela ressemble à une partie d'un script PHP. J'imagine que le reste ressemble à ceci:

$html = '<input type="hidden" name="newsletter[' . $var["id"] . 
     '][someid]" value="' . $var['id'] . '" />' 

Quand il a évalué devrait produire quelque chose comme la chaîne HTML suivant:

<input type="hidden" name="newsletter[123][someid]" value="123" /> 
3

Lets briser ce bas ..

<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" /> 

Sans PHP ...

<input type="hidden" name="newsletter[removed][someid]" value="removed" /> 

est un champ d'entrée HTML mis en place pour poster comme un tableau. Si vous appelez $_POST['newsletter'], cela retournera un tableau. Donc, cette partie est un tableau HTML.

La variable PHP $var["id"] est un tableau. Il appelle l'index "id" du tableau associatif $ var. Il s'agit donc à la fois d'un tableau HTML et d'un tableau PHP. Si vous deviez exécuter ce domaine et d'analyser les données de poste en PHP en utilisant l'extrait suivant:

if (isset($_POST['newsletter'])) 
die(print_r($_POST)); 

$var = array('id' => 2); // assume $var['id'] = 2 

echo "<form method='post'>"; 
echo '<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" />'; 
echo "<input type='submit' />"; 
echo "</form>"; 

Une fois que vous soumettre verrait le tableau suivant en $ _POST [ « bulletin »]

Array 
(
    [newsletter] => Array 
     (
      [2] => Array 
       (
        [someid] => 2 
       ) 
     ) 
) 
0

HTML n'a pas de concept de tableau.

Toutes les entrées feront partie de la collection elements du DOM HTMLFormElement (accessible via le côté client JS). Lorsque le nom de l'entrée est soumis à un script PHP, PHP l'étend à une valeur affectée à une clé dans un tableau associatif affecté à une clé dans un autre tableau associatif affecté à la clé newsletter dans le champ $_REQUEST. et les matrices superglobales $_GET ou $_POST.