Se connecter avec
S'enregistrer | Connectez-vous

Pb avec un formulaire php et UPDATE mysql

Dernière réponse : dans Programmation

Bonjour,

j'ai deux fichiers pour mon formulaire afin de mettre à jour ma table annuaire : formulaire.php et post.php

Le premier du style :

<td valign=top width=200>Nom :</td>
<td width=350><form method="post" action="post.php">
<input name="nom" type="text" size="25" maxlength="20" value="">
</form></td>
.... idem pour prénom, adresse, ...

Le deuxième :

// Récupération des données du formulaire
$n = $_POST['nom'];
$tf = $_POST['telfix'];
...
// connexion à la base de donnée - Aucun pb

// Création de la requête SQL
$requete = "UPDATE annuaire SET telfix='$tf' WHERE nom='$n'";
mysql_query($requete);

Le pb c'est que ça ne marche pas ! Il consulte bien la base et la met à jour mais par un vide....
Par contre ça marche très bien quand je mets par exemple :

$requete = "UPDATE annuaire SET telfix='02.41.00.00.00' WHERE nom='AUBER'";
mysql_query($requete);

Je pense que c'est un pb de variable, que post.php ne reconnait pas les varaibles dans le formulaires...

bref si quelqu'un a une idée...

merci d'avance !

Autres pages sur : formulaire php update mysql

Lassé par la pub ? Créez un compte

Si tu veux savoir si tes variables sont bien enregistrée, t'as qu'à mettre un
  1. echo $_POST["nom"];

dans post.php, au moins il t'affichera ce que ça contient!


Mais s'il met bien à jour qqch, c'est qu'il a bien enregistré "nom". A mon avis, tu es juste victime, comme il est facile de l'être, d'un pb de conversion des caractères: les points dans le téléphone peuvent poser problème.
Je te conseille de vérifier si il n'a pas transformé les points en caractères spéciaux (ou même le numéro en un nombre décimal), et si ta base accepte bien le format retenu.

c'est bien ça le problème c'est qu'il enregistre pas les données avec les variables $_POST ! et même si je mets juste 02 pour le numero de tel...

Si je remplace par des données que je saisis moi même dans la commande UPDATE comme le numéro de tel, ya pas de soucis, la table est mises à jour.

Question : est-il possible de mettre dans la commande UPDATE, VALUES par hasard ? J'ai cherché mais pas trouver grand chose mise à part INSERT et VALUES...
Pourrait peut être résoudre le pb... enfin j'en sais rien

hello,

désolée je sais que ca remonte à loin mais j'ai le même problème que toi et je ne trouve pas la solution.

Je fais un update comme ca : $sql = "UPDATE Actu SET Titre='".$_POST["titre"]."'"; (j'ai meme virer le where pour etre sur et j'ai pas mis d'apostrophe ds la variable titre)

je fais un echo, tout est ok mais en base il m'a updaté avec vide.

Avec la méthode Get, ca marche en revanche.

Donc vu que tu dis aue tu as trouvé, ca m'interesse si tu te souviens comment tu as résolu ca.

bon ca y est j'ai enfin trouvé !
grace au forum : http://www.presence-pc.com/forum/ppc/Programmation/prob...

j'avais remplace mon update par un insert qui fonctionnait mais il m'inserait une ligne vide en plus. Donc nouvelle erreur.

En fait toutes ces erreurs etaient la faute d'une erreur html qui faisait que firefox rechargeait la page sans rien me dire.

Du coup pour un insert il inserait une 2eme fois mais vide et pour l'update il updatait avec les valeurs post mais qu'il avait perdu donc en fait il faisait 2 update.

Voilà c'est vraiment un bug de ouf !

Lassé par la pub ? Créez un compte
Tom's guide dans le monde