PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 05-03-2010 19:52:22

fab59114
Membre
Inscription : 05-03-2010
Messages : 3

easyphp et enregistrement bdd grace au php

Bonjour,
je fais un petit site en attendant pour dépanner mais suis novice en la matière.
j'ai ouvert une bdd + une table sous easy php et un formulaire doit récupérer les données bien sur.
Cpt mes champs restent vides pourtant la connexion a l'air de vraiment se faire.
4 champs : id(autoincrement+clé primaire) - nom - prenom - email
voici le code formulaire : (index.html)
<p>Nom : <input type="text" name="tnom"></p>
<p>Prénom : <input type="text" name="tprenom"></p>
<p>Email : <input type="mail" name="temail"></p>
<input type="submit" value="OK">
<input type="reset" value="EFFACER">
et le code php :
<?php
if($id = mysql_connect("serveur XXX" , "Util XXX" , "Mdp XXX"))
{
if($id_db = mysql_select_db("BDD XXX"))
{
Echo"Connexion réussie</br>";
$sql="insert into 'client' ('id','nom','prenom','email') values (null,'".$_POST['tnom']."','".$_POST['tprenom']."','".$_POST['temail']."')";
$rep=mysql_query($sql);
echo "Merci de votre inscription.
<form method=post action=index.html>
<input type=submit value=Retour>
</form>";
}

else
{ Echo"Connection Impossible";
exit();
}
Serveur utilisateur mdp et bdd sont exacts dans mon code.
Alors pourquoi ma table client ne se remplit pas ?
Help !!!!
Merci d'avance.
Fab59114.

Hors ligne

#2 05-03-2010 20:09:36

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : easyphp et enregistrement bdd grace au php

D'une part j'espère que ton code ne se trouve pas dans index.html comme tu l'as semble-t-il expliqué.
Il doit se trouver dans un .php

Ensuite ajoutes "or die(mysql_error())" à la fin de mysql_query. Cela te permettra d'avoir l'erreur renvoyée par MySQL (s'il y en a une).
S'il n'y en a pas c'est que ton code ne s'exécute pas.

Hors ligne

#3 05-03-2010 21:51:11

fab59114
Membre
Inscription : 05-03-2010
Messages : 3

Re : easyphp et enregistrement bdd grace au php

Hello xTG
Merci bien avec qq correctifs tout fonctionne au niveau de la connexion
le champs "id" s'auto-incrémente mais rien ne s'écrit ds "nom" "prénom" et "email"
incompréhensible !!!
si tu as une suite à proposer ...
bonne soiré

Hors ligne

#4 06-03-2010 09:22:37

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : easyphp et enregistrement bdd grace au php

C'est normal. Ton script se lance à chaque fois qu'on affiche le formulaire. Or il ne devrait se lancer que lorsqu'on envoies les données écrites dans le formulaire.
Il faut vérifier que quelque chose a été envoyé avant de tenter un ajout... Pour rappel le PHP se lance côté serveur, donc lorsque ta page s'affiche le PHP a déjà fait son boulot.

Ta connexion et ton insertion devrait donc être dans une condition comme cella-ci par exemple :

if( !empty($_POST['tnom']) )
{
...
}

Il faut vérifier chaque variable reçue afin de vérifier que cela correspond bien à ce que tu veux.
Actuellement l'utilisateur pourrait mettre n'importe quoi dans ton formulaire (un chiffre à la place de l'email et j'en passe), c'est un gros soucis de sécurité.

Hors ligne

#5 06-03-2010 12:34:28

fab59114
Membre
Inscription : 05-03-2010
Messages : 3

Re : easyphp et enregistrement bdd grace au php

Merci je vais tester ton script xTG.
Pour l'instant j'avais tout testé en local c'est une fois que j'ai changé la connex vers ovh que les soucis commencent... Tout fonctionnait bien en local.
Peux tu m'indiquer comment vérifier les variables stp ? Ou si tu as un lien, voire un explicatif pour cette fameuse sécurité.
Pour l'instant je fais juste une vérification sur l'adresse mail : elle doit comporter un "point" et un "@". Mais tu peux les mettre n'importe où...
Merci de ton coup de main en tout cas. Je laisse passer le week end et je vois ça lundi. Bon we à toi.

Hors ligne

Pied de page des forums