Récupérer des données $_post et les insérer dans une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupérer des données $_post et les insérer dans une table

Re: Récupérer des données $_post et les insérer dans une tab

par moogli » 01 mai 2012, 22:21

salut,

il est préférable d'utiliser la notation tableau pour le nom du champ (name="nom[]" par exemple).

ainsi un simple foreach permet d'avoir les infos

Si tu met autant de "nom" que de prénom tu pourra ainsi facilement avoir toute les info

exemple
<input type="text" name="nom[]" />
<input type="text" name="prenom[]" />

le traitement
<?php
if (!empty($_POST['nom']) && !empty($_POST['prenom'])) {
foreach ($_POST['nom'] as $key => $value)){
// le prénom qui correspond au nom s'obtient avec 
//$_POST['prenom'][$key];
// la requete
$sql = 'insert into gens (nom, prenom) values(\''.$value.'\',\''.$_POST['prenom'][$key].'\');';
}
}
?>
A adapter avec ta base et ton formulaire XD

@+

Récupérer des données $_post et les insérer dans une table

par Alaumaal » 30 avr. 2012, 10:01

Bonjour,

Dans une première page, j'ai créé un formulaire permettant d'écrire plusieurs noms et prénoms. J'aimerai dans une seconde page récupérer ces données pour les insérer dansune table mais j'ai du mal avec la variable $_POST et le fait de récupérer des variables en Array.

Voici une énième tentative d'écrire le code :


<?php
include('connect.php');
for ($i=0; $i<=$_POST['nbre_eleves']-1; $i++)
{

echo "j'enregistre l'élève dans la table<br>";
echo $_POST['prenom['.\'$i\'.]'];

Merci d'avance pour votre aide.
echo "<br>";
$req=mysql_query('INSERT INTO `'.$_POST['nom_classe'].'` (`id`, `prenom`, `nom`, `select`) VALUES (NULL, \''.$_POST['prenom[$i]'].'\', \''.$_POST['nom[$i]'].'\', NULL);');
}
mysql_close();
?>