Un UPDATE SET qui supprime mais ne met pas ce qu'il faut

Mammouth du PHP | 555 Messages

25 sept. 2005, 21:23

Bonjour à tous
Je vien chercher de l'aide, une fois de plus, sur ce forum.
J'ai un UPDATE SET qui supprimer l'ancienne valeure mais ne met pas la nouvelle à la place. Je ne sais pas ca vien de php ou sql mais quand je demande à php d'afficher les variables il le fait correctement. De plus SQL ne renvoi aucune erreur duand je lui demande de les afficher.
Merci de votre aide je joind les script ci dessous
<?php
session_start();
$pseudo = $_SESSION['pseudo'];
include ('scripts.php'); //contient tout ce qu'il faut pour se connecter correctement
include ('skin.php'); //contient l'habillage de la page en html et un peu de php
if($_SESSION['pseudo'] == "") 
{ 
?>
Vous n'êtes pas logué, veuillez le faire <a href="login.htm">ici</a></div>
</div> 
<?php 
} 
if(isset($_SESSION['pseudo']) && $_SESSION['pseudo'] != "") 
{
$mail = $_POST['mail'];
$sql1 = mysql_query("SELECT count(*) FROM users WHERE mail = '".$mail."'");
$sql2 = mysql_result($sql1,0,0);
if($sql2 == 1)
{
?>
<p> Il y a déjà un compte avec cette adresse <a href="cmail1.php">retour</a></div>
<?php
}
else
{
mysql_query("UPDATE users SET mail = '".$mail."' WHERE pseudo = '".$pseudo."'") or die(mysql_error());
?>
Votre nouvelle adresse : <?php echo($mail) ?><br><a href="im.php">retour</a></div>
<?php
}
}
?>
A+ et bon surf!!!!

Mammouth du PHP | 19672 Messages

25 sept. 2005, 22:31

Fais afficher la requête de UPDATE et essaye la directement dans phpMyAdmin, à première vue, je ne vois pas d'autre possibilité qu'une variable vide.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 555 Messages

26 sept. 2005, 19:00

Alors $pseudo d'affiche correctement ainsi que $mail, la requete SQL marche très bien en direct alors je vois pas pourquoi les deux ensembles marchent pas. Si quelqu'un a une idée svp...
A+ et bon surf!!!!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 sept. 2005, 19:09

pas de solution mais une demande d'affichage de la requete concatènée (comme demandé) pour voir les espaces etc...
$sql="UPDATE users SET mail = '".$mail."' WHERE pseudo = '".$pseudo."'";
echo $sql;
mysql_query($sql) or die(mysql_error());

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 555 Messages

26 sept. 2005, 20:41

Ca commence à m'énerver parceque je ne comprend pas pourquoi ça ne marche pas, UPDATE users SET mail = '[email protected]' WHERE pseudo = 'cicom' voila ce qu'il m'affiche avec la fonction echo ce qui est normal. Par contre la valeure précédente est éffacée mais la nouvelle valuere n'est pas sauvegardée dans SQL...
A+ et bon surf!!!!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 sept. 2005, 21:24

effectivement il n'y a pas d'erreur visible dans la requete...
autre idée, essai juste comme ça

mysql_query("UPDATE users SET mail = '".$mail."' WHERE pseudo = '".$pseudo."'");
sans "or die(mysql_error())"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 555 Messages

27 sept. 2005, 17:03

non il sauvegarde toujours pas la donnée...
A+ et bon surf!!!!

Mammouth du PHP | 555 Messages

28 sept. 2005, 18:53

help porfavor! je ne comprend pas pourquoi il ne sauvegarde pas cette donée et ce n'est pas faute d'avoir essayé!
A+ et bon surf!!!!

ViPHP
pjl
ViPHP | 2119 Messages

28 sept. 2005, 18:57

as tu testé ta requête dans PHPMyadmin comme il a été demandé ? Que se passe-t-il ?

Mammouth du PHP | 555 Messages

28 sept. 2005, 19:03

Ahhhhhhhhhhh! J'ai trouvé! Je n'arraitais pas d'essayer avec firefox... et ça marchait pas. Et là j'ai fait un essait IE et ça marche correctement! Le problème étant pourquoi ça ne marche pas avec firefox? je vous joint le script qui demande $mail
<?php
session_start();
$pseudo = $_SESSION['pseudo'];
include ('scripts.php');
include ('skin.php');
if($_SESSION['pseudo'] == "") 
{ 
?>
Vous n'êtes pas logué, veuillez le faire <a href="login.htm">ici</a></div>
</div> 
<?php 
} 
if(isset($_SESSION['pseudo']) && $_SESSION['pseudo'] != "") 
{
?>
<form method="post" action="cmail.php">
Votre nouvelle adresse mail :
<input type=text name=mail size="17">
<div style="position: absolute; width: 77px; height: 28px; z-index: 1; left: 213px; top: 40px" id="couche4">
<input type="submit" value="modifier"></div>
</form>
<?php
}
?>
A+ et bon surf!!!!

Mammouth du PHP | 555 Messages

28 sept. 2005, 19:07

Désolé pjl on a dû poster en même temps et je n'avait pas vu ta question. Oui j'ai essayé dans myadmin et il a exécuté la requète correctement...
A+ et bon surf!!!!

Mammouth du PHP | 19672 Messages

28 sept. 2005, 19:07

À priori, je ne vois rien d'anormal si ce n'est pas possibilité de simplifier un détail:
<?php
session_start();
$pseudo = $_SESSION['pseudo'];
include ('scripts.php');
include ('skin.php');
if(!isset($_SESSION['pseudo']) || $_SESSION['pseudo'] == "")
{
?>
Vous n'êtes pas logué, veuillez le faire <a href="login.htm">ici</a></div>
</div>
<?php
}
else
{
?>
<form method="post" action="cmail.php">
Votre nouvelle adresse mail :
<input type=text name=mail size="17">
<div style="position: absolute; width: 77px; height: 28px; z-index: 1; left: 213px; top: 40px" id="couche4">
<input type="submit" value="modifier"></div>
</form>
<?php
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 555 Messages

28 sept. 2005, 19:12

oué je sais mais le détails est sur toutes mes pages alors...lol Sinon personne sait pourquoi firefox ne fait pas ce qu'il faut?
A+ et bon surf!!!!

Mammouth du PHP | 19672 Messages

28 sept. 2005, 20:16

oué je sais mais le détails est sur toutes mes pages...
Tu n'as pas songé à mettre ça dans un fichier unique et à faire un include sur toutes tes pages à la place ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 555 Messages

28 sept. 2005, 20:25

c'est ce que je suis entrain de faire passer tout sous include mais d'ici là que ce soit fini ca restera comme ca sinon certaines pasge riquent de ne pas aimer... Mais e attendant il faudrait que je trouve pour firefox nous fait une crise...
A+ et bon surf!!!!