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?