Problème de messagerie

cs_antho11 Messages postés 38 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 13 février 2005 - 28 déc. 2004 à 11:06
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 29 déc. 2004 à 16:47
Bonjour, j'ai un un problème dans ce fichier la requete UPDATE ne s'execute pas ? mais pourtant la requete INSERT INTO s'éxecute bien .... je n'y comprend plus rien ..........

voici le code

<?php
$host = "********"; // adresse du serveur sql que vous utilisez. ex : "sql.free.fr"
$user = "********"; // login de la base de données. ex : votre login Free
$pass = "********"; // mot de passe de la base de données. ex : votre mot de passe Free
$base = "********"; // nom de la base de données. ex : identique à votre login sur Free

// connexion à la base de données
$db = mysql_connect("$host", "$user", "$pass");
mysql_select_db("$base",$db);

$date = date("d-m-Y");
$auteur = $_POST['auteur'];
$destinataire = $_POST['destinataire'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];

$req = "SELECT login FROM admin_membres WHERE login='$destinataire'";
$result = mysql_query($req);
$res = mysql_num_rows($result);
if($res!=1)
{
print (" <center>Le destinataire donné n'existe pas ! </center>");
include ('envoi_mess.php');
exit();
}
else {

$sql = "INSERT INTO admin_messagerie (id,date,sujet,auteur,message,destinataire) VALUES ('','$date','$sujet','$auteur','$message','$destinataire')";
$result2 = mysql_query($sql);
$modif = "UPDATE admin_membres SET nouveau='oui' WHERE login='$login'"; // Requête de "modification"
$result_modif = mysql_query($modif);
echo"<center>Votre message à été envoyé avec succès</center>";
}
?>

Webmaster de www.forza-aja.fr.st

9 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 déc. 2004 à 12:02
Salut!
Il faut deja tester le retour d'un SELECT avant tout mysql_num_rows ou mysql_fetch_array pr prévoir les erreurs, genre:

$result = mysql_query('...');
if(!$result)
{
// gestion d'erreur ici

// interruption du script ou redirection
}

mysql_fetch_array($result);


Idem, c'est pas mal de tester la connection à la bdd:
$db = @mysql_connect($host, $user, $pass);
if(!$db || !@mysql_select_db($base,$db))
  die('Erreur lors de la connection à MySQL');


Ensuite, quand tu as une requete qui s'effectue pas, tu peux appeler mysql_error() qui te donne la dernière erreur mysql ca t'aidera pr debugger:
$modif = "UPDATE admin_membres SET nouveau='oui' WHERE login='$login'"; // Requête de "modification"
$result_modif = mysql_query($modif) or die(mysql_error());


Voila, si tu nous donne l'erreur, on pourra mieux t'aider

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
cs_antho11 Messages postés 38 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 13 février 2005
28 déc. 2004 à 12:05
Merci je regarde ça

Webmaster de www.forza-aja.fr.st
0
cs_antho11 Messages postés 38 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 13 février 2005
28 déc. 2004 à 13:21
Voila,
Alors j'ai fais t'es modifs mais sa n'affiche toujours aucune erreurs

la preuve .. http://anthony.ducreux.free.fr/admin/envoi_2_mess.php

Avec le code que tu m'a donné

 


Webmaster de www.forza-aja.fr.st
0
cs_antho11 Messages postés 38 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 13 février 2005
28 déc. 2004 à 13:22
Excuser moi le code

// connexion à la base de données
$db = @mysql_connect($host, $user, $pass);
if(!$db || !@mysql_select_db($base,$db))
die('Erreur lors de la connection à MySQL');

$date = date("d-m-Y");
$auteur = $_POST['auteur'];
$destinataire = $_POST['destinataire'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];

$result = mysql_query("SELECT login FROM admin_membres WHERE login='$destinataire'");
if(!$result)
{
echo"marche pas ";
exit();
}

mysql_fetch_array($result);
$res = mysql_num_rows($result);
if($res!=1)
{
print (" <center>Le destinataire donné n'existe pas ! </center>");
include ('envoi_mess.php');
exit();
}
else {

$sql = "INSERT INTO admin_messagerie (id,date,sujet,auteur,message,destinataire) VALUES ('','$date','$sujet','$auteur','$message','$destinataire')";
$result2 = mysql_query($sql);
$modif = "UPDATE admin_membres SET nouveau='oui' WHERE login='$login'"; // Requête de "modification"
$result_modif = mysql_query($modif) or die(mysql_error());
echo"<center>Votre message à été envoyé avec succès</center>";
}
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 déc. 2004 à 18:50
Quelle est l'erreur mysql retournée?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
cs_antho11 Messages postés 38 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 13 février 2005
28 déc. 2004 à 21:00
Justement il y à aucune erreur retourné .......

Webmaster de www.forza-aja.fr.st
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
28 déc. 2004 à 22:54
Salut!
Je te propose de faire:

echo $modif;


Et de vérifier si ta clause WHERE est bien OK...

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
cs_antho11 Messages postés 38 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 13 février 2005
29 déc. 2004 à 13:44
La requete est bien bonne mais sa marche tj pas ....
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
29 déc. 2004 à 16:47
Salut!
Je comprends pas: Si un UPDATE n'est pas effectué, je vois deux solutions:
- erreur dans la requete
- clause WHERE ne retourant aucun enregistrement...

Si tu fais un SELECT avec comme close WHERE login='$login', ca te retourne un enregistrement?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rejoignez-nous