supprime tous les id identiques dans differents tableaux

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 : supprime tous les id identiques dans differents tableaux

Re: supprime tous les id identiques dans differents tableaux

par sam12 » 07 août 2011, 19:48

Pas de soucis ;)
Bonne journée à toi aussi.

Re: supprime tous les id identiques dans differents tableaux

par celine34 » 07 août 2011, 17:16

merci sam12
Ca fonctionne maintenant...
Bonne journée à toi et aux autres :P :P

Re: supprime tous les id identiques dans differents tableaux

par sam12 » 07 août 2011, 02:48

C'est bien ce que je pensais.
Si tu utilises les mêmes "name", comment veux-tu que le script fasse la différence?
=> Il supprime toutes tes lignes ayant la même id sur tous tes tableaux. Logique d'un autre coté ;)

Il faut donc donner un name different pour chaque tableau et bien sur faire 1 isset d'un name, indiquer son traitement et passer à un autre isset du name suivant.

Donc
if (isset($_POST['delete1'])){instruction }
if (isset($_POST['delete2'])){instruction }
etc... ;)

Re: supprime tous les id identiques dans differents tableaux

par celine34 » 07 août 2011, 02:37

Bonsoir,
Tous les "name" son identiques
<input type='checkbox' name='delete[]' value='".$donnees['id']."' />
Pour ce qui est de if isset $_POST etc... je n'avais pas inséré tout le code. Le voici intégral:
<?php 
require('../connexion.php');
$delete = isset($_POST['delete']) ? $_POST['delete'] : array();
if (sizeof($delete)==0){
echo 'Il n\'y a pas d\'enregistrements';
exit;}
else{
 
$db = mysql_connect($host, $login, $password) or die(showError('1', mysql_error()));
mysql_select_db($base,$db) or die(showError('2', mysql_error()));
/* vide le formulaire */
foreach ($delete as $valeur){
$sql="DELETE FROM formulaire where id='$valeur'";
$req= mysql_query($sql);
}
header("Location: index.php");

/* vide les propositions */
foreach ($delete as $valeur){
$sql="DELETE FROM proposition_dossier where id='$valeur'";
$req= mysql_query($sql);
}
header("Location: index.php");

/* vide le suivi */
foreach ($delete as $valeur){
$sql="DELETE FROM proposition_dossier_suite where id='$valeur'";
$req= mysql_query($sql);
}
 
header("Location: index.php");

/* vide le sondage */
foreach ($delete as $valeur){
$sql="DELETE FROM pvote where id='$valeur'";
$req= mysql_query($sql);
}
 
header("Location: index.php");
}
?>
Une idée?

Re: supprime tous les id identiques dans differents tableaux

par sam12 » 07 août 2011, 02:25

Il me vient une question basique. As-tu donné un "name" différent à chaque submit? Apparemment je ne vois pas de if isset $_POST etc...

supprime tous les id identiques dans differents tableaux

par celine34 » 07 août 2011, 02:01

Bonsoir, bonjour.....
j'ai divers formulaires sur mon site.
J'ai créé une zone d'administration qui se présente sous forme de tableaux pour effacer certains formulaires.
chaque tableau récupère les données dans la bdd et en fin de chaque ligne, une checkbox. Une fois celle ci cochée, j'ai un bouton supprimer.

Voici le code:
$db = mysql_connect($host, $login, $password) or die(showError('1', mysql_error()));
mysql_select_db($base,$db) or die(showError('2', mysql_error()));
/* vide le formulaire */
foreach ($delete as $valeur){
$sql="DELETE FROM formulaire where id='$valeur'";
$req= mysql_query($sql);
}
header("Location: index.php");

/* vide les propositions */
foreach ($delete as $valeur){
$sql="DELETE FROM proposition_dossier where id='$valeur'";
$req= mysql_query($sql);
}
header("Location: index.php");

/* vide le suivi */
foreach ($delete as $valeur){
$sql="DELETE FROM proposition_dossier_suite where id='$valeur'";
$req= mysql_query($sql);
}
 
header("Location: index.php");

/* vide le sondage */
foreach ($delete as $valeur){
$sql="DELETE FROM pvote where id='$valeur'";
$req= mysql_query($sql);
}
 
header("Location: index.php");
}
Le problème, c'est que si je supprime une ligne dans un des tableaux qui porte le même ID qu'une ligne dans un des tableaux suivant, ça le supprime aussi....
Que faire? :P