Formulaire de suppresion mysql

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 : Formulaire de suppresion mysql

par charabia » 24 mai 2006, 15:06

Tu t'étais donc bien trompé de page lol

par Invité » 24 mai 2006, 15:03

J'ai trouvé.....
<html>
<body>
<form action="des.php" method="post"> // j'ai remplacé l'ancien nom de fichier qui pointer vers mon index, par le nom de fichier sur lequel et écrit le script.
	Recevoir la newsletter<input type="text" value="" size="14" name="mail" />&nbsp;<input type="submit" value="OK" class="bouton" /><br />							

<?
include("catalogue/connexion.php"); 
   
$mail=$_POST['mail']; 
$Resultat="delete from newsletter where mail='".$mail."'";
                    
            $res=mysql_query($Resultat) or die($res.mysql_error()); 
                             

?> 
</body>
</html>
Merci a tous pour votre aide

par charabia » 24 mai 2006, 15:02

Oki. Tu avais des fautes dans ton script. Correction, regarde si ça marche :
<html> 
<body> 
<form action="des.php" method="post">Recevoir la newsletter<input type="text" value="" size="14" name="mail" />&nbsp;<input type="submit" value="OK" class="bouton" /><br />                             

<?php
include("catalogue/connexion.php");
if(isset($_POST['mail']))
{
	$Resultat="delete from newsletter where mail='"$_POST['mail']"'";
	$res=mysql_query($Resultat) or die($res.mysql_error());
}
else
{
	echo "erreur";
}
?> 
</body> 
</html>

par Invité » 24 mai 2006, 14:56

voila le code:
<html>
<body>
<form action="des.php" method="post">
	Recevoir la newsletter<input type="text" value="" size="14" name="mail" />&nbsp;<input type="submit" value="OK" class="bouton" /><br />							

<?
echo "Coucou SUPPRESSION<br />"; 
echo "delete from newsletter where mail='".$_POST['mail']."'"; 
//include("catalogue/connexion.php"); 
  //     
//if(isset($_POST['mail'] { 
    //    $Resultat="delete from newsletter where mail='"$_POST['mail']"'";                  
            //    $res=mysql_query($Resultat) or die($res.mysql_error()); 
                             
//} 
?> 
</body>
</html>
Et voici ce que ça affiche:

Recevoir la newsletter
Coucou SUPPRESSION
delete from newsletter where mail='[email protected]'

Bien sur j'ai entré [email protected] dans le champs de saisie.
Que faire?

par charabia » 24 mai 2006, 14:51

Et si tu mettais ton code en commentaire et que tu mettais juste ceci à la place :
echo "Coucou SUPPRESSION<br />";
echo "delete from newsletter where mail='".$_POST['mail']."'";
Dans ta page connexion.php, es-tu sûr de n'avoir que les paramètres de connexion ?

par Invité » 24 mai 2006, 14:48

ça ne fonctionne toujours pas même avec vos conseils, ça ajoute toujours au lieu de supprimer
echo "Coucou SUPPRESSION"; 
J'ai mis ce code sur ma page, et quand je la lance, Coucou SUPPRESSION s'affiche correctement sans erreur

Sinon avec mon code je n'ai pas d'erreur a part que ca ajoute!?

par zeus » 24 mai 2006, 12:00

modération : pense bien à utiliser les balises [ PHP ] quand tu postes du code. Depuis hier, j'arrete pas de passer derrière toi ;)

Sinon, comme il n'est pas possible qu'une instruction DELETE insert des données, je pense que tu ne pointes pas vers le script que tu nous montre ;)

Pour t'en assurer, tu peut faire un
echo "Coucou SUPPRESSION";
pour voir s'il s'affiche

De plus, je remarque de grosses erreurs dans ton code et il est impossible que ce qode s'affiche sans t'afficher des erreurs:
<?
include("catalogue/connexion.php");
//Tu comptes faire quoi là ?
$_POST=('mail');
//Il faut toujours extraire les variables des chaines de caractères, surtout si c'est un tableau. Regarde bien la différence entre ta ligne (commentée) et la mienne
//$Resultat="delete from newsletter where mail=('$_POST[mail]')";
$Resultat="delete from newsletter where mail='".$_POST[mail]."'";               
$res=mysql_query($Resultat) or die($res.mysql_error());
?>

par guilt92 » 24 mai 2006, 11:59

Il y a quelques erreurs dans ton code :
<?php
include("catalogue/connexion.php"); 
        //$_POST=('mail'); a quoi cela sert ?
if(isset($_POST['mail'] { //on verifie que la variable existe bien
        $Resultat="delete from newsletter where mail='".$_POST['mail']."'";                 
                $res=mysql_query($Resultat) or die($res.mysql_error()); 
                            
}
?> 
Normalement cela devrait mieux fonctionner comme cela.

Re: j'a fait des recherches

par charabia » 24 mai 2006, 11:59

Et lorsque je enlever une adresse de ma base, ce script en ajoute une alors que je fait delete from...
Enlevé comment ? Manuellement ?

Tu ne t'ai pas trompé de fichier ? Parce que là je ne vois pas trop comment il peut te rajouter un champs sans INSERT sans rien...

Ces lignes sont mieux ainsi :
$mail=$_POST['mail'];
$Resultat="delete from newsletter where mail='".$mail."'";

j'a fait des recherches

par laurentIU » 24 mai 2006, 11:51

Voici mon nouveau script:
<html>
<body>
<form action="index.php" method="post">
	Désabonnement<input type="text" value="" size="14" name="mail" />&nbsp;<input type="submit" value="OK" class="bouton" /><br />							

<?
include("catalogue/connexion.php");
		$_POST=('mail');
		$Resultat="delete from newsletter where mail=('$_POST[mail]')";				
				$res=mysql_query($Resultat) or die($res.mysql_error());
				
				

?>

</body>
</html>
Et lorsque je enlever une adresse de ma base, ce script en ajoute une alors que je fait delete from...
Pourriez vous m'expliquez pourquoi?

Merci

par zeus » 23 mai 2006, 17:50

Quand une chaine de caractère est entourée de ", pour mettre des quotes dans cette chaine, soit il faut utiliser un autre caractère que ". ' par exemple, soit il faut précéder les " qui ne sont pas la fin de la chaine par un \
$requete=mysql_db_query($sql_bdd,"delete from newsletter where email=\"$id\"");

par agité » 23 mai 2006, 17:25

soit la variable $sql_bdd n'est pas definit soit $id

par Invité » 23 mai 2006, 17:22

et ma ligne 20 correspond à ça:

$requete=mysql_db_query($sql_bdd,"delete from newsletter where email="$id"");

par Invité » 23 mai 2006, 17:20

J'obtient rien apar ça :
Parse error: parse error, unexpected T_VARIABLE in /home/novelianD/www/des.php on line 20

par zeus » 23 mai 2006, 16:02

Plusieurs remarques :
1/ pourquoi est-ce que tu retournes quelquechose ? Ce n'est utile que dans les fonctions ;)
2/ si tu fait
echo $sql_bdd
juste après la requete, tu obtiens quoi ?