PROBLEME AVEC FORMULAIRE

Résolu/Fermé
hogz Messages postés 9 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 4 juillet 2013 - 4 juil. 2013 à 13:41
hogz Messages postés 9 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 4 juillet 2013 - 4 juil. 2013 à 14:44
Bonjour,


Bonjour,

j'ai une fiche de membre que je peux modifier en appelant l' ID jusque là tout marchait bien...j'ai mis en place sur un autre hébergeur cette même procédure et là surprise...mes champs ne se remplissent plus.

1 - Fiche1 qui s'affiche suivant l'ID du membre (base de données MySql)
---->en cliquant sur un bouton modification
2 - Fiche modification qui affiche suivant l'ID, là les champs sont modifiables---je modifie et je valide suivant un bouton qui me renvoie sur une page VALIDE .
Voici le code de l'envoie en POST

<?php
//connexion au serveur
$cnx = mysql_connect("XXXXXX","XXXXXXX","XXXXXXXX" );

//Selection de la base de donnée
$db = mysql_select_db("XXXXXXXX" );

//Recupetion des valeurs
//nom
if (isset ($_POST['nom']) AND $_POST['nom'] !=="" ) ;
//prenom
if (isset ($_POST['prenom']) AND $_POST['prenom'] !=="" ) ;
//sexe
if (isset ($_POST['sexe']) AND $_POST['sexe'] !=="" ) ;
//date inscription
if (isset ($_POST['daten']) AND $_POST['date'] !=="" ) ;
//date naissance
if (isset ($_POST['datej']) AND $_POST['datej'] !=="" ) ;
//adresse
if (isset ($_POST['adresse1']) AND $_POST['adresse1'] !=="" ) ;
//adresse2
if (isset ($_POST['adresse2']) AND $_POST['adresse2'] !=="" ) ;
//code postal
if (isset ($_POST['codepostal']) AND $_POST['codepostal'] !=="" ) ;
//ville
if (isset ($_POST['ville']) AND $_POST['ville'] !=="" ) ;
//mail
if (isset ($_POST['email']) AND $_POST['email'] !=="" ) ;
//Mobile:
if (isset ($_POST['tmobile']) AND $_POST['tmobile'] !=="" ) ;
//Tel Fixe:
if (isset ($_POST['tfixe']) AND $_POST['tfixe'] !=="" ) ;
//Licence:
if (isset ($_POST['lieu']) AND $_POST['lieu'] !=="" ) ;
//Mode Reglement:
if (isset ($_POST['modereg']) AND $_POST['modereg'] !=="" ) ;
//Reglement:
if (isset ($_POST['reglement']) AND $_POST['reglement'] !=="" ) ;
//Somme Reglee:
if (isset ($_POST['sommereg']) AND $_POST['sommereg'] !=="" ) ;

//récupération de l'identifiant de la personne:
$id = $_POST['id'] ;

//création de la requête SQL:
$sql = ("UPDATE mabase
SET
datej='$datej',
lieu='$lieu',
daten='$daten',
nom = '$nom',
prenom = '$prenom',
adresse1 = '$adresse1',
adresse2 = '$adresse2',
codepostal = '$codepostal',
sexe = '$sexe',
date='$date',
ville = '$ville',
email = '$email',
tmobile = '$tmobile',
tfixe = '$tfixe',
modereg = '$modereg',
reglement = '$reglement',
sommereg = '$sommereg'
WHERE id = '$id' " ) ;

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;


//affichage des résultats, pour savoir si la modification a marché:
if($requete)
{
echo("La modification s'est correctement effectuée" ) ;
}
else
{
echo("La modification a échouée" ) ;
}

?>

Donc, l'action se fait mais efface entièrement ma ligne sur ma base MYSQL.
Merci pour votre aide.

4 réponses

Utilisateur anonyme
4 juil. 2013 à 13:56
Bonjour

Ta série de if :
if (isset ($_POST['nom']) AND $_POST['nom'] !=="" ) ; 

est totalement fantaisite, puisque la seule instruction soumise au if est le point-virgule, qui ne fait rien du tout.

Tu devrais écrire
if (isset ($_POST['nom']) AND $_POST['nom'] !=="" ) $nom=mysql_real_escape_string($_POST['nom']); else $nom=""; 

idem pour les autres champs bien sûr.

Il est possible que ça ait marché sur un autre hébergeur, si l'option register-globals était à "on", ce qui se faisait autrefois mais est fortement déconseillé.
0
cheste71 Messages postés 3 Date d'inscription jeudi 4 juillet 2013 Statut Membre Dernière intervention 4 juillet 2013
4 juil. 2013 à 13:58
Question bête mais comme tu as changé de serveur, as tu modifié :
//connexion au serveur
$cnx = mysql_connect("XXXXXX","XXXXXXX","XXXXXXXX" );
0
hogz Messages postés 9 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 4 juillet 2013
4 juil. 2013 à 14:27
J'essaye la méthode de LE PERE....
Effectivement si register-globals était sur "on" je comprends mieux....

Cheste71: la connexion marche puisqu'elle efface les données de l'ID dans la base MYSQL...
0
hogz Messages postés 9 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 4 juillet 2013
4 juil. 2013 à 14:44
OK, c'était bien ça....
if (isset ($_POST['nom']) AND $_POST['nom'] !=="" ) $nom=mysql_real_escape_string($_POST['nom']); else $nom="";

merci pour le coup de main.
0