Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1680 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Insertion dans base de données MYSQL IMPOSSIBLE!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Insertion dans base de données MYSQL IMPOSSIBLE!

n°1715566
adloiseau
Posté le 10-04-2008 à 13:25:18  profilanswer
 

Bonjour,
 
Je fais un projet pour mon bac et c'est un formulaire, je dispose de deux fichiers, un inscription.html et un inscription .php.
Le problème est que quand je rempli mon formulaire et que je clique sur valider, il me dit que les informations sont bien envoyés mais quand je vais dans ma base de données il y a bien en effet une ligne qui se rajoute mais tous mes champs sont vides.
 
Voici le contenu de mes deux fichiers :
 
HTML :
 
<html>
<head>
<title>Inscription</title>
</head>
 
<body bgcolor="#000000">
 
<center>
<img src="C:\Documents and Settings\Administrateur\Bureau\projet\mood_m6.JPEG">
</center>
 
<br>
<br>
 
<center><basefont face="castellar" size="5"color="red">Inscription</center></basefont>
 
<br>
<br>
<br>
<br>
 
<form method="post" action="inscription.php">
<table border >
<body text="red">
<center> <TABLE BORDER="2">
 
 
<TR>
<TD>Pseudo</TD>
<TD>
<INPUT type="text" name="pseudo">
</TD>
</TR>
 
<TR>
<TD>Password</TD>
<TD>
<INPUT type="text" name="password">
</TD>
</TR>
 
<TR>
<TD>Nom</TD>
<TD>
<INPUT type="text" name="nom">
</TD>
</TR>
 
<TR>
<TD>Prénom</TD>
<TD>
<INPUT type="text" name="prenom">
</TD>
</TR>
 
<TR>
<TD>Adresse</TD>
<TD>
<INPUT type="text" name="adresse">
</TD>
</TR>
 
<TR>
<TD>Ville</TD>
<TD>
<INPUT type="text" name="ville">
</TD>
</TR>
 
<TR>
<TD>Code Postal</TD>
<TD>
<INPUT type="text" name="cp">
</TD>
</TR>
 
<TR>
<TD>Sexe</TD>
<TD>
Homme : <INPUT type="radio" name="sexe" value="M">
<br>Femme : <INPUT type="radio" name="sexe" value="F">
</TD>
</TR>
 
<TR>
<TD>Date de Naissance</TD>
<TD>
<INPUT type="text" name="naissance">
</TD>
</TR>
 
<TR>
<TD>Remise à Zero</TD>
<TD>
<center><INPUT type="reset"></center>
</TD>
</TR>
 
</form>
 
</table></center>
 
<center>
<FORM ACTION="inscription.php">
<input type="submit" value="Valider">
</form>
<FORM ACTION="01.htm">
<input type="submit" value="Retour">
</form>
 
</center>
 
</body>
</html>
 
 
PHP :
 
<html>
<body>
<?php
 
// On commence par récupérer les champs
 
if(isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else $pseudo="";
 
if(isset($_POST['password'])) $password=$_POST['password'];
else $password="";
 
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
 
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
 
if(isset($_POST['adresse'])) $adresse=$_POST['adresse'];
else $adresse="";
 
if(isset($_POST['ville'])) $ville=$_POST['ville'];
else $ville="";
 
if(isset($_POST['cp'])) $cp=$_POST['cp'];
else $cp="";
 
if(isset($_POST['sexe'])) $sexe=$_POST['sexe'];
else $sexe="";
 
if(isset($_POST['naissance'])) $naissance=$_POST['naissance'];
else $naissance="";
 
// connexion à la base
 
$connexion = mysql_connect("localhost", "root", "root" ) or die ("Impossible de se connecter" );
mysql_select_db("bmw",$connexion) or die ("Impossible de trouver la base" );
 
 
// On vérifie si les champs sont vides
 
 
if(empty($pseudo) OR empty($password) OR empty($nom) OR empty($prenom) OR empty($adresse) OR empty($ville) OR empty($cp) OR empty($sexe) OR empty($naissance))
 
// on écrit la requête sql
 
$sql=("insert into inscription (pseudo, password, nom, prenom, adresse, ville, cp, sexe, naissance)
values ('$pseudo','$password','$nom','$prenom','$adresse','$ville','$cp','$sexe','$naissance')" );
 
// on insère les informations du formulaire dans la table
 
mysql_query($sql);
 
// on affiche le résultat pour le visiteur
 
echo"<br/><br/>Vos données ont bien été envoyées.";
 
// on ferme la connexion
 
mysql_close();
 
?>
 
</body>
</html>

mood
Publicité
Posté le 10-04-2008 à 13:25:18  profilanswer
 

n°1715574
art_dupond
je suis neuneu... oui oui !!
Posté le 10-04-2008 à 13:36:45  profilanswer
 

que donne echo $sql ?

 

ps: aucune idée si c'est ça mais les parenthèses de "sql=(...);" sont inutiles


Message édité par art_dupond le 10-04-2008 à 13:38:15

---------------
oui oui
n°1715590
adloiseau
Posté le 10-04-2008 à 13:46:59  profilanswer
 

insert into inscription (pseudo, password, nom, prenom, adresse, ville, cp, sexe, naissance) values ('','','','','','','','','')

n°1715595
adloiseau
Posté le 10-04-2008 à 13:50:24  profilanswer
 

Je ne vois pas se que je dois faire :(

n°1715602
flo850
moi je
Posté le 10-04-2008 à 13:53:02  profilanswer
 

fait un print_r($_POST) histoire de voir les données passées par ton fomulaire
 
et pourquoi tu as  

Code :
  1. <FORM ACTION="inscription.php">
  2. <input type="submit" value="Valider">
  3. </form>
  4. <FORM ACTION="01.htm">
  5. <input type="submit" value="Retour">
  6. </form>

?
 
logiquement tu mets ton bouton submit dnas le formulaire qui doit etre soumis et tu mets un lien pour le retour


---------------

n°1715605
adloiseau
Posté le 10-04-2008 à 13:54:27  profilanswer
 

Bien j'ai mis un  bouton valider afin de valider les données inscrite dans le formulaire et envoyer ces données dans ma base de données puis j'ai fait un bouton retour pour revenir à l'accueil

n°1715606
adloiseau
Posté le 10-04-2008 à 13:55:07  profilanswer
 

le print_r($post) je le met ou ?

n°1715608
flo850
moi je
Posté le 10-04-2008 à 13:56:08  profilanswer
 

sauf que le formulaire qui contient le submit n'est pas celui qui contient les données
 
et le print_r , tu le mets avant de traiter les données du POST ( a mon avis ca va te dire qu'il n'y a aucune données dans $_post )


---------------

n°1715616
adloiseau
Posté le 10-04-2008 à 14:03:04  profilanswer
 

Il vient de m'envoyer les informations c'est bon c'etait le bouton submit qui n'etait plus dans le tableau ^^
 
Par contre je pense que je vais essayer de racourcir mon code, je peux peut etre enlever tous les if ?
 

n°1715619
flo850
moi je
Posté le 10-04-2008 à 14:06:06  profilanswer
 

non, tu ne pas enlever les if  
 
par contre tu peux ajouter un peu de code pour sécuriser tout ca :  
remaplcer tes if par  

Code :
  1. if(isset($_POST['pseudo'])) $pseudo=mysql_real_escape_string($_POST['pseudo']);
  2. else $pseudo="";


 
pour eviter que ton insertion plante si quelqu'un met un apostrophe dans un  champ ou que quelqu'un puisse injecter une requete  
 
par exemple si dans naissance, je mets  
         ');  DROP TABLE inscription ; #


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Insertion dans base de données MYSQL IMPOSSIBLE!

 

Sujets relatifs
MySQL => insert intelligentInsertion video dans un email
Comparaison de données sous Excel[Résolu] MySQL et condition sur le résultat retourné par une requête
Migration d'une base de données Récupérer les données à partir des zones de textes
Avec PDO, impossible de récupérer des exceptions en connec persistante[MySQL] Mysql ne démarre pas
PB de lien avec le resultat sur base 
Plus de sujets relatifs à : Insertion dans base de données MYSQL IMPOSSIBLE!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR