MAJ base de donnée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : MAJ base de donnée

par 3LpH4Ri0N » 11 déc. 2005, 16:58

J'ai rajouté ce que tu m'a donné, de plus j'ai compris :p
Ca roule, nikel, merci à tous ceux qui ont pris le temps de réfléchir à mon problème...
A très bientot (surement) ^^

par Truc » 11 déc. 2005, 16:23

UPDATE lao_membre SET pseudo = 'xxx', pass='999', email='[email protected]', jour='99', mois='99', annee='999', prenom='xxx', nom='XXXX', rue='xx xxxxx', num='', ville='XXXX', code='99999', pays='FR' WHERE id = 1
En fait ma page modifier.php (dont le code est ci dessus) ne récupère pas les données de modif.php,
Hmm, je comprend pas les variables sont bien remplies dans la requete ! :-k

je pensais que tu n'avais pas inclus le code de récupération des variables POST:
$pseudo= isset($_POST['pseudo']) ? $_POST['pseudo'] : "";
fait en autant pour les autres variables, pour infos il s'agit ici d'un test avec l'opérateur ternaire

par 3LpH4Ri0N » 11 déc. 2005, 15:59

UPDATE lao_membre SET pseudo = 'xxx', pass='999', email='[email protected]', jour='99', mois='99', annee='999', prenom='xxx', nom='XXXX', rue='xx xxxxx', num='', ville='XXXX', code='99999', pays='FR' WHERE id = 1
Ma requête est bonne maintenant.. Merci
Euh sinon j'ai un autre soucis :)
En fait ma page modifier.php (dont le code est ci dessus) ne récupère pas les données de modif.php, celle où j'entre mes infos dans le formulaire.
J'ai vérifé mais pas trouvé la cause de l'erreur; voici le fichier :

Code : Tout sélectionner

<table id="container" cellspacing="0" cellpadding="0"> <form action="_files/_db/modifier.php" name="form1" method="post" > <tr> <td class="titre"><strong>Cr&eacute;er un compte</strong></td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="content"><table width="100%" border="0" cellspacing="0" cellpadding="4" class="address"> <tr> <td class="col1">Ton id : </td> <td><? echo $_SESSION['id']; ?></td> </tr> <tr> <td class="col1">Choisis ton <acronym title="Ce nom que tu utiliseras sur le site, tu le choisis enti&egrave;rement seul">Pseudo </acronym>:</td> <td><input name="pseudo" type="text" class="field" id="pseudo" value="<? echo $_SESSION['pseudo']; ?>" maxlength="25" /></td> </tr> <tr> <td class="col1">Choisis ton mot de passe :</td> <td><input name="pass" type="password" class="field" id="pass" value="<? echo $_SESSION['pass']; ?>" maxlength="50" /></td> </tr> <tr> <td class="col1">Note ton <acronym title="Une adresse e-mail valable est obligatoire">adresse e-mail </acronym>:</td> <td><input name="email" type="text" class="field" id="email" value="<? echo $_SESSION['email']; ?>" maxlength="128" /></td> </tr> </table></td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="content">&nbsp;</td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="titre"><strong>Parle-nous un peu de toi</strong></td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="content"><table width="100%" border="0" cellspacing="0" cellpadding="4" class="address"> <tr> <td class="col1">Date de naissance :</td> <td><input name="jour" type="text" class="fieldnr" id="jour" value="<? echo $_SESSION['jour']; ?>" size="2" maxlength="2" /> / <input name="mois" type="text" class="fieldnr" id="mois" value="<? echo $_SESSION['mois']; ?>" size="2" maxlength="2" /> / <input name="annee" type="text" class="fieldnr" id="annee" value="<? echo $_SESSION['annee']; ?>" size="2" maxlength="4" /> (dd/mm/yyyy)</td> </tr> <tr> <td class="col1">Pr&eacute;nom :</td> <td><input name="prenom" type="text" class="field" id="prenom" value="<? echo $_SESSION['prenom']; ?>" maxlength="128" /></td> </tr> <tr> <td class="col1">Nom :</td> <td>&nbsp;</td> </tr> <tr> <td class="col1">Rue :</td> <td><input name="rue" type="text" class="fieldstreet" id="rue" value="<? echo $_SESSION['rue']; ?>" maxlength="128" /> &nbsp;&nbsp;N&deg;:&nbsp;&nbsp; <input name="num" type="text" class="fieldnr" id="num" value="<? echo $_SESSION['num']; ?>" maxlength="15" /></td> </tr> <tr> <td class="col1">Commune :</td> <td><input name="ville" type="text" class="fieldcity" id="ville" value="<? echo $_SESSION['ville']; ?>" maxlength="128" /> &nbsp;Code :&nbsp;&nbsp; <input name="code2" type="text" class="fieldpost" id="code2" value="<? echo $_SESSION['code']; ?>" maxlength="8" /></td> </tr> <tr> <td class="col1">Pays :</td> <td><select name="select" id="select"> <option value="AF">Afghanistan</option> [... Supprimé ...] <option value="ZW">Zimbabwe</option> </select> </td> </tr> </table></td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="content">&nbsp;</td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="content">&nbsp;</td> <td id="skyscraper">&nbsp;</td> </tr> <tr> <td class="content"><div align="center"> <input name="enreg" type="submit" id="enreg" value="Valider" /> </div></td> </form> <td id="skyscraper"> </td> </tr> </table> </html>
J'ai pourant vérifé... :(

Je sais que je devrais pas balader les données confidentielles dans la session, je ferais des requêtes par la suite (je prévois la remarque :p)...

par Truc » 11 déc. 2005, 15:39

tjs pas de mesage d'erreur ? si tu affiche la requete générée avec les modifs est-ce que l'id manque toujours dans la clause WHERE ?

enleve "$req =" du code puis tu fait un test.

par 3LpH4Ri0N » 11 déc. 2005, 15:24

<?
session_start(); 
require ('config.php');

//Requête
$sql = "UPDATE lao_membre SET pseudo = '".$pseudo."', pass='".$pass."', email='".$email."', jour='".$jour."', mois='".$mois."', 
annee='".$annee."', prenom='".$prenom."', nom='".$nom."', rue='".$rue."', 
num='".$num."', ville='".$ville."', code='".$code."', pays='".$pays."' 
WHERE id = ".$_SESSION['id']; 

//Effectuer la requête
$req = mysql_query($sql) or die(mysql_error()); 

//on ferme la connexion
mysql_close();

//on redirige le visiteur sur la page d'accueil, là ou s'afficheront les messages
header('location: ../../index.php');
?>
Voilà le code de ma page de modification mais ca ne me donne toujours rien :(
Bref je suis complètement perdu

par Truc » 11 déc. 2005, 15:05

On va reprendre tout ce qui t'as été donné en infos :wink:
Il n'y a pas de
session_start(); 
dans ta page.
Il faut mettre un session_start() dans la page de modification ! est-ce fait ?
De plus, comme ton id est un numérique, pas la peine de l'encadrer entre quote et c'est de là que vient le fait que tu n'ai pas de message d'erreur.
Là il fait une recherche ou id est vide.
il s'agisait donc de la requete et non de la variable de session:
$sql = "UPDATE lao_membre SET pseudo = '".$pseudo."', pass='".$pass."', email='".$email."', jour='".$jour."', mois='".$mois."',
annee='".$annee."', prenom='".$prenom."', nom='".$nom."', rue='".$rue."',
num='".$num."', ville='".$ville."', code='".$code."', pays='".$pays."'
WHERE id = ".$_SESSION['id']; 
quote= '

ensuite est tu certaine de devoir mettre autant de données en session ? évite par exemple le passe en session :wink:
l'adresse n'est je pense pas indispensable non plus, a voir ce que tu veut en faire après.

par 3LpH4Ri0N » 11 déc. 2005, 14:53

voilà ce que cela donne dans la page d'authentification :
  $_SESSION['id'] = $data[id];
]
et dans la page qui modifie :
WHERE id = ".$_SESSION[id]."";
Mais cela ne change strictement rien, il ne me retourne aucun enregistrement dans "id" alors que lorsque dans la page profil je lui demande !
<? echo $_SESSION['id']; ?>
il m'affiche bien 1

Je ne comprend pas :( Quelqu'un peut m'expliquer ce que je ne dois pas voir depuis le début... :roll:

par s3b54sk8 » 11 déc. 2005, 00:27

j'ai donc encore perdu une occasion de me taire :oops: :cry:

par pjl » 11 déc. 2005, 00:13

je parlais de la requête.
Une valeur numérique n'a pas à être encadrée entre quote.

par s3b54sk8 » 10 déc. 2005, 22:40

Je crois qu'il veut dire qu'il faut que tu mettes [id] et pas ['id'].

par 3LpH4Ri0N » 10 déc. 2005, 19:37

??

par 3LpH4Ri0N » 09 déc. 2005, 19:28

entre quote
???
Je ne vois pas ce qu'il faut enlever :"quote"??? :shock:
Merci

par pjl » 09 déc. 2005, 19:18

Il n'y a pas de
session_start(); 
dans ta page.

De plus, comme ton id est un numérique, pas la peine de l'encadrer entre quote et c'est de là que vient le fait que tu n'ai pas de message d'erreur.
Là il fait une recherche ou id est vide.

par 3LpH4Ri0N » 09 déc. 2005, 18:52

cela me donne :
UPDATE lao_membre SET pseudo = '3LpH4Ri0N', pass='123', email='[email protected]', jour='22', mois='12', annee='1986', prenom='xxx', nom='xxx', rue='xxx', num='', ville='XXX', code='9999', pays='FR' WHERE id = ''
Donc mon id n'est bien pas défini mais seulement j'ai bien :
  $_SESSION['id'] = $data['id'];
et dans la page profil quand je lui demande
<? echo $_SESSION['id']; ?>
il m'affiche bien 1

Donc je comprend pas...

par pjl » 09 déc. 2005, 18:17

me revoilà, j'ai bien essayé tout un tas de truc mais rien n'y fait :(
As tu essayé ceci ?
Fais afficher la requête générée et essaye là directement dans phpMyAdmin, tu verras bien.
Quelle est la tête de la requête une fois affichée ?