Problème avec Update

Eléphant du PHP | 91 Messages

09 août 2009, 17:36

Bonjour,

J'ai un espace membre dans lequel l'utilisateur pourra mettre à jour ses propres infos personnelles. Pour cela j'utilise un formulaire qui affiche les infos personnelles dans les champs librement modifiable, puis valider le formulaire qui envoie vers le script suivant:
<?php

//SESSION ESPACE MEMBRE
session_start();
require("conf.php"); 
if(!session_is_registered(myusername)){
header("location:index.php");
}

// CONNEXION SERVEUR ET SELECTION BASE DE DONNEE
mysql_connect("$host", "$username", "$password")or die("cannot be connected");
mysql_select_db("$db_name")or die("cannot select DB");

// SAISIE DES VALEURS

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$address=$_POST['address'];
$city=$_POST['city'];
$US_state=$_POST['US_state'];
$state=$_POST['state'];
$ZIP =$_POST['ZIP'];
$country =$_POST['country'];
$phone1=$_POST['phone1'];
$phone2=$_POST['phone2'];
$phone3=$_POST['phone3'];

//MODIFICATION DES DONNEES

$sql = mysql_query("UPDATE $tbl_name SET  myusername='".$myusername."',  mypassword ='".$mypassword."', address='".$address."', US_state='".$US_state."', state='".$state."', ZIP='".$ZIP."', country='".$country."', phone1='".$phone1."', phone2='".$phone2."', phone3='".$phone3."' WHERE myusername='{$_SESSION ['myusername'] }'") or die(mysql_error());

{

// REDIRECTION VERS PAGE RESULTAT'
	header("Location:answer_system0258.php");

}

// DECONNEXION MYSQL

mysql_close();

?>
Le problème qui se pose, c'est que lorsque je test le système, il me renvoie a la même page avec dans la barre de navigation toute les modifications envoyer.

Quelqu'un aurait il une idée de l'erreur que j'ai faite? Parce que là, je ne trouve pas.

Merci

ViPHP
fab
ViPHP | 2657 Messages

09 août 2009, 18:24

{

// REDIRECTION VERS PAGE RESULTAT'
        header("Location:answer_system0258.php");

}

Ces accolades en plein milieu de nulle part, elles te sortent pas une erreur php?
Enlève les :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Mammouth du PHP | 881 Messages

09 août 2009, 23:57

Ton formulaire serait-il en GET par hasard?

Dans la balise <form ...> remplace GET par POST et tes infos seront cachées.
Soyez artisans de paix

Eléphant du PHP | 91 Messages

10 août 2009, 00:08

Ton formulaire serait-il en GET par hasard?

Dans la balise <form ...> remplace GET par POST et tes infos seront cachées.
Non, en fait, c'est POST

J'ai l'impression que l'envoie ne fonctionne pas et pourtant , j'ai correctement écrit le nom du fichier sous ACTION

c'est marquer dans la barre de navigation le nom du fichier.php?myusername=email@ etc, etc

Encore si il y avait une page blanche ou un message d'erreur, ca irait, mais ce coup là, je suis complètement pommé!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

10 août 2009, 00:25

Si tu vois les informations que tu as saisies dans l'url, c'est que ton formulaire est défini en GET.

Il faut que tu t'assures de bien avoir l'attribut "method" dans ta balise <form>.
Exemple :

Code : Tout sélectionner

<form action="..." method="POST">
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 91 Messages

10 août 2009, 13:13

C'est bon, je viens de trouver

Il y avait un petit bou de <form> en double qui n'avait rien a faire là. Maintenant ça marche

Merci