Page 1 sur 2
Focntion php exécutée à parti formulaire
Posté : 24 févr. 2009, 23:26
par Fireman
Bonjour
J'ai crée une fonction qui permet de supprimer un enregistrement de ma table
alors j'aimerais m'en servir lorsque l'utilisateur clique sur mon bouton du fomulaire
Je ne sais pas si c'est un pb de syntaxe car ça ne marche
J'ai une erreur
Parse error: parse error, unexpected '[', expecting ')'
à la ligne de la fonction Supp
voilà mon code
echo'
<form method="post" action="supp.php">
<br><input type="hidden" name="Nom" value="'.$data['NOM'].'"/>
<br><input type="hidden" name="Prenom" value="'.$data['PRENOM'].'"/>';
Supp($_POST['Nom'], $_POST['Prenom']);
echo'
<br><br></form>';
ma fonction dans supp.php
function supp ($_POST['Nom'], $_POST['Prenom'])
{
$nom=$_POST['Nom'];
$prenom=$_POST['Prenom'];
$sql = "DELETE from Amis(NOM, PRENOM)where NOM='".$nom."' AND PRENOM='".$prenom."'";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
header("Location: compte.php?page=ajouter_ok");
exit();
}
Posté : 24 févr. 2009, 23:37
par Aureusms
non non non pas comme cela...
Cela ne sert à rien de mettre les variable $_POST dans la fonction.
function supp ($nom, $prenom)
{
$sql = "DELETE from Amis(NOM, PRENOM)where NOM='".$nom."' AND PRENOM='".$prenom."'";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
header("Location: compte.php?page=ajouter_ok");
exit();
}
Posté : 24 févr. 2009, 23:45
par Fireman
C'est bizarre ya plus d'erreur mais ma page est vide
par contre si j'enlève ma fonction supp dans ma page principale ma page apparait?
Posté : 24 févr. 2009, 23:46
par Aureusms
Ton code au dessus c'est vraiment tout ton code ou juste une portion ?
Posté : 24 févr. 2009, 23:49
par Fireman
une portion
Posté : 24 févr. 2009, 23:54
par Invité
j'ai l'impression qu'il appel la fonction mais je veux qu'elle soit active dès qu'on clique sur le bouton
Est ce qu'il vaut mieux l'appeler directement dans action="Supp();" du form
Posté : 24 févr. 2009, 23:57
par Aureusms
j'ai l'impression qu'il appel la fonction mais je veux qu'elle soit active dès qu'on clique sur le bouton
Est ce qu'il vaut mieux l'appeler directement dans action="Supp();" du form
non la fonction supp() est côté serveur pas côté client. Mais l'idée est bonne pour de l'AJAX.
Donne la portion du code où tu mets les If(isset(qqchose) car tu dois en avoir pour gérer l'affichage.
Posté : 24 févr. 2009, 23:58
par Fireman
Est -il possible de faire dans le genre
<form method="post" action="Supp('.$_POST['Nom'].','.$_POST['Prenom'].')">
<br><input type="hidden" name="Nom" value="'.$data['NOM'].'"/>
<br><input type="hidden" name="Prenom" value="'.$data['PRENOM'].'"/>
Posté : 25 févr. 2009, 00:04
par Aureusms
Est -il possible de faire dans le genre
<form method="post" action="Supp('.$_POST['Nom'].','.$_POST['Prenom'].')">
<br><input type="hidden" name="Nom" value="'.$data['NOM'].'"/>
<br><input type="hidden" name="Prenom" value="'.$data['PRENOM'].'"/>
non! sauf en Javascript et AJAX
Veux tu de l'aide pour concevoir ce script? Si oui :
<?php
if (!isset($_POST["bouton"))
{
?>
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>"/>
<input type="hidden" name="Nom" value="<?php echo $data['NOM']; ?>"/>
<input type="hidden" name="Prenom" value="<?php echo $data['PRENOM']; ?>"/>
<input type="submit" name="bouton" value="effacer"
</form>
<?php
}
else
{
$nom_post = addslashes($_POST["Nom"]);
$prenom_post = addslashes($_POST["Prenom"]);
supp($nom_post,$prenom_post);
function supp ($nom, $prenom)
{
$sql = "DELETE from Amis(NOM, PRENOM)where NOM='".$nom."' AND PRENOM='".$prenom."'";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
header("Location: compte.php?page=ajouter_ok");
exit();
}
Edit : p'tite erreur corrigée
Posté : 25 févr. 2009, 00:12
par Fireman
Je n'ai pas de Get dans cette page car elle sert d'include pour une autre page
Je ne comprends pas le isset $ Post [button]?
Posté : 25 févr. 2009, 00:14
par Invité
c'est le nom de mon button de validation?
Posté : 25 févr. 2009, 00:23
par Fireman
j'ai une erreur de ce type au niveau isset boutton
Parse error: parse error, unexpected ')', expecting ']'
Pk cette erreur?
Posté : 25 févr. 2009, 00:27
par Invité
J'ai corrigé l'erreur
Maintenant rien ne se passe lol ma page est vierge
Posté : 25 févr. 2009, 15:42
par Aureusms
j'ai une erreur de ce type au niveau isset boutton
Parse error: parse error, unexpected ')', expecting ']'
Pk cette erreur?
Effectivement il restait une erreur.
Le code que je t'ai donné te permet sur une même page, de faire le formulaire et le traitement de ce formulaire. Cependant cela reste un exemple.
Si tu indiques que tu fais un include de ton code qui échoue, tu as probablement des conditions d'include. (if...)
Je vais être clair avec ce que tu nous donnes, ... Pas facile de résoudre ton problème
Posté : 25 févr. 2009, 22:10
par Fireman
Je vous remercie de m'avoir aidé.
J'ai fait le formulaire avec le traitement mais lorsque je clique sur le bouton il m'envoie vers une autre page de mon site que je n'ai pas pointé.
C'est bizarre j'ai pas d'erreur de php ni d'erreur sql donc je ne comprends pas d'où vient ce pb.
De plus, j'ai testé le code sur une autre page, il exécute parfaitement le code.
Avez vous déjà rencontré ce pb?
Est ce une question de session ou de cookies?