Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Modification de données en php/mysql


ViCk58

Messages recommandés

Bonsoir,

 

je fais appelle à vous car j'ai un petit problème que je ne sait pas régler, je suis entrain de me faire un site, et je suis coincer quand je veut faire mon script pour modifier des données d'un membre :P , alors que j'utilise la même méthode qu'avec mon système de news et qui là fonctionne :P . Je vous mets mon code source :

 

<?php
mysql_connect("localhost", "root", "%$@#!§");
mysql_select_db("test");
mysql_query("SET NAMES 'utf8'");

if (isset($_POST['pseudo']) AND isset($_POST['pass']) AND isset($_POST['email'])) // Si les variables existent
{
$pseudo = $_POST['pseudo'];
$email = $_POST['email'];
$pass = md5($_POST['pass']);
$time = $_POST['time'];


if ($_POST['id_user'] == 0) // Création de news
{
	if ($_POST['pseudo'] != NULL AND $_POST['pass'] != NULL AND $_POST['email'] != NULL) // Si on a quelque chose à enregistrer
	{
		$time = $_POST['time'];
		mysql_query("INSERT INTO user VALUES('', '$pseudo', '$email', '$pass', '$time', '0')");
		?><h2><?php echo "Création Réussi";?></h2><?php
	}

}
else // modif
{
	$_POST['id_user'] = addslashes($_POST['id_user']);
	// Modif du titre et contenu
	mysql_query("UPDATE user SET pseudo='$pseudo', email='$email' WHERE id='" . $_POST['id_user'] . "'");
	?><h2><?php echo "Modification Effectuée";?></h2><?php
}


}
mysql_close();
?>

 

Pouvez-vous me dire ce qui cloche là dedans. :P

 

Merci d'avance pour vos réponses. :P

Lien vers le commentaire
Partager sur d’autres sites

j'aurais bien aimer que tu me souligne ou tu me dise précisément ou est le problème de virgule ou guillemets car je ne voit pas où.
Le paramètre de mysql_query doit être une chaine de caractères, ok ?

Les chaînes sont délimitées par des guillemets (ou des apostrophes). En l'occurrence, ta chaine commence juste après mysql_query(" et se finit aux premiers guillemets rencontrés c'est à dire après VALUES( ..

Etant donné que la requête doit être "INSERT INTO user VALUES ( <pseudo> , <email> , <pass> , <time> , '0')" il ne faut pas finir la chaîne à cet endroit-là (du moins, pas en construisant la requête tel que tu le fais.

 

Je ne te cache pas que cela m'ennuie de te donner la solution toute mâchée (même si ça te fait gagner 5min maintenant, ça ne t'aide pas sur le long terme) mais puisque c'est si gentiment demandé...

mysql_query("INSERT INTO user VALUES('$pseudo', '$email', '$pass', '$time', '0')");

 

Au passage, je crois que la question de simous est relative à la colonne id_user qui n'a pas l'air d'être renseignée dans ton insert (si tu ajoutais explicitement la liste de colonnes dans ta requête ça serait plus propre) et qui devrait, je pense, y figurer à null (si tu as déclaré cette colonne comme un entier auto-incrémenté) ou à max(id_user) + 1 ...

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Salut,

 

Je suis d'accord avec toi KewlCat, cependant,

mysql_query("INSERT INTO user VALUES('', '$pseudo', '$email', '$pass', '$time', '0')");

est censé marché tant que l'ordre des colonnes est respecté.

Sinon en effet il faut essayer ça:

mysql_query("INSERT INTO user (id, pseudo, email, ...) VALUES(NULL, '$pseudo', '$email', '$pass', '$time', '0')");

 

Peut être qu'une mise à jour de MySql n'autorise plus l'ancien fonctionnement.

 

ViCk58, as tu un quelconque message d'erreur quand tu utilises ton script ?

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...