Modifier les enregistrements d'une base donée

GillesWebmaster
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
- 24 avril 2005 à 19:42
GillesWebmaster
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
- 26 avril 2005 à 17:58
Bonjour,
j'aimerais savoir comment on fait pour créer un petit "module" qui modifie les enregsitrement d'un livre d'or:
2pages: -livreor.php
-ad.php

-----------------------------------------livreor.php-----------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>



<?
mysql_connect("", "", "");
mysql_select_db("");
$reponse = mysql_query('SELECT * FROM livreor');



while ($donnees = mysql_fetch_array($reponse))
{
?>
<form action="ad.php" method="post">
Pseudo:,
">
">,

----

E-mail:,
">,

----

Site:,
">,

----

Heure:,
">,

----

Message:,
<textarea name="message" cols="30" rows="13" id="message"><?php echo $donnees['message'] ?></textarea>,

----

</form>
<? }
mysql_close(); // On n'oublie pas de fermer la connexion &agrave; MySQL ;o)
?>



</html>
<---------------------------------<juske la pas de prob, mais:>--------------------------->
-----------------------------------------ad.php---------------------------------------------
<html>

<? if (isset($_POST['pseudo']) AND isset($_POST['message']) AND isset($_POST['email']) AND isset($_POST['site']))
{
$id = $_POST['id'];
$heure = $_POST['heure'];
$pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
$mail = htmlentities($_POST['email'], ENT_QUOTES);
$site = htmlentities($_POST['site'], ENT_QUOTES);
$message = htmlentities($_POST['message'], ENT_QUOTES); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des

mysql_connect("", "", "");
mysql_select_db("");
$reponse = mysql_query('SELECT * FROM livreor');
// On peut enfin enregistrer :o)
mysql_query("UPDATE `livreor` SET
`heure`= '" .$heure. "'
AND `pseudo`= '" .$pseudo. "'
AND `site`= '" .$site. "'
AND `mail`= '" .$mail. "'
AND `message`= '" . $message. "'
WHERE id='" .$id. "' LIMIT 1 ;");
}
?>

</html>

Merci
Gilles

9 réponses

aze555666
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
26 janvier 2009

24 avril 2005 à 21:24
slt

je ne sais pas si ton pb est là, mais il me semble que la ligne
$reponse = mysql_query('SELECT * FROM livreor');
ne sert pas à grand chose. tu n'a pas besoin de selectionner une ligne avant de l'updater. surtout que tu n'utilises pas le $reponse dans la suite.

sinon, je pense que le reste fonctionne. sauf que je ne comprend pas à quoi servent les points que tu mets autour des variables dans les requetes sql. est-ce une synthaxe spécifique pour un type de base?
0
GillesWebmaster
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
25 avril 2005 à 06:29
En fait pour les pts je ne suis pas sure, mais comment ferais.tu??
Merci pour le tuyaux mais le blem est ailleurs
DSL
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
25 avril 2005 à 10:41
Hello,



qu'est ce qui ne fonctionne pas ?Que se passe t il ?
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
25 avril 2005 à 13:16
Re...



Aze => il concatene ses valeurs, voila tout. Il aurait en effet pu
laisser tout ca directement dans les double quotes de sa requete. Rien
de specifique a quoi que ce soit :-)



Gilles => 2 choses...primo, tu peux ne pas passer par des variables
intermediaires comme tu le fais, mais utiliser directement tes $_POST
dans ta requete.

Ensuite, ta requete est fausse, en la relisant bien. Les AND ne
s'utilisent pas dans une claus SET. On separe les champs et les valeurs
par une virgule. Ton LIMIT ne sert a rien non plus :



mysql_query("UPDATE `livreor` SET
`heure`= '" .$heure. "',
`pseudo`= '" .$pseudo. "',
`site`= '" .$site. "',
`mail`= '" .$mail. "',
`message`= '" . $message. "'
WHERE id='" .$id. "';");
0

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

Posez votre question
GillesWebmaster
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
26 avril 2005 à 05:51
J'ai tjs un prob:
mysql_query("UPDATE `livreor` SET
`heure`= '$_POST[heure]',
`pseudo`= '$_POST[pseudo]',
`site`= '$_POST[pseudo]',
`mail`= '$_POST[email]',
`message`= '$_POST[message]'
WHERE id='$_POST[id]';");
p.s: j'ai pas bien compris ton point numéro 1, malalam
MERCI
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
26 avril 2005 à 09:08
Ce n'est pas tres grave, j'expliquais a Aze ce qu'etait les points dans ta requete.



Tu n'as toujours pas dit quel etait le probleme exact, l'erreur ?
0
GillesWebmaster
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
26 avril 2005 à 16:49
En fait ca m'affiche une page blanche sans modifiers les infos!!!
OU EST L'ERREUR???
Merci
Gilles
0
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
26 avril 2005 à 17:00
Ajoutes un or die() acec l'erreur mysql apres ta requete, tu verras deja pourquoi il rale.
0
GillesWebmaster
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
26 avril 2005 à 17:58
Pourrais-tu préciser stp???
0