Problème d'insertion dans une table

Signaler
Messages postés
40
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
8 octobre 2011
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
Bonjour,
J'ai un problème dans la requête pour insertion alors SVP veuillez me dire le problème ou il est :
Pour la page .php :
<?php
$db new PDO("mysql:host localhost; dbname=mysql", "root", "");
$req = "insert into client values('".$_GET["Code"]."','".$_GET["Nom"]."','".$_GET["Prenom"]."','".$_GET["Adresse"]."','".$_GET["Tel"]."')";
$db->query($req);
echo "<html> Client ajouté avec succès
</html>";
?>

pour la page .html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv ="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>


<form action="AjouterClient.php" method="get" style=" table-layout:auto; border:solid; border-color: blue;" >
Code :, ,

----

Nom :, ,

----

Prenom :, ,

----

Adresse:, ,

----

Tel:, ,

----


</form>

</html>

Pour l'afficage il m'affiche le client ajouter avec succées c'est tout !

10 réponses

Messages postés
91
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
21 septembre 2014
1
ça donne quoi comme message d'erreur !?
Messages postés
40
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
8 octobre 2011

il m'affiche aucun message d'erreur il m'affiche rien une page blanche , il n'affiche meme pas l'interface pour remplir les zones de text pour que je puisse inserer dans la table !!
Messages postés
91
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
21 septembre 2014
1
pour commencer, pourquoi tu utilises la méthode get et pas post !!?
Messages postés
40
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
8 octobre 2011

Quand je l'utilise voila l'erreur qui m'affiche :


Notice: Undefined index: Code in D:\wamp\www\Test\AjouterClient.php on line 3

Notice: Undefined index: Nom in D:\wamp\www\Test\AjouterClient.php on line 3

Notice: Undefined index: Prenom in D:\wamp\www\Test\AjouterClient.php on line 3

Notice: Undefined index: Adresse in D:\wamp\www\Test\AjouterClient.php on line 3

Notice: Undefined index: Tel in D:\wamp\www\Test\AjouterClient.php on line 3
Client ajouté avec succès
Messages postés
91
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
21 septembre 2014
1
essayer avec la méthode post comme suite :

sur le formulaire :
<form action="AjouterClient.php" method="POST" style=" table-layout:auto; border:solid; border-color: blue;" >

et sur la page php :

<?php
$code=$_POST['code'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$_POST['adresse'];
$tel=$_POST['tel'];
$db new PDO("mysql:host localhost; dbname=mysql", "root", "");
$req = "insert into client values('$code','$nom','"$prenom','$adresse','$tel')";
$db->query($req);
echo "<html>Client ajouté avec succès
</html>";
?>
Messages postés
40
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
8 octobre 2011

wii j'ai dèjà essayée mais ca na pa marché :S
Messages postés
91
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
21 septembre 2014
1
t'as essayé avec la fonction mysql_connect()!!?
juste pour voir
Messages postés
40
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
8 octobre 2011

wiii !!
Messages postés
91
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
21 septembre 2014
1
et ça marche, je viens de la tester chez moi, et ça fonctionne
sauf si tu es obligé d'utiliser les PDO
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour

je suis d'accord rinuom99 utilises post

j'ai fait un test chez moi ça fonctionne aussi
pour pdo vaut mieux preparer la requête question de sécurité

donc voilà avec mysql_connect la base
pour utilise pdo je te conseille les requête préparée
http://php.net/manual/fr/pdo.prepare.php

<!--

table bidon de test

CREATE TABLE IF NOT EXISTS `client` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `Code` varchar(32) NOT NULL,
  `Nom` varchar(30) NOT NULL,
  `Prenom` varchar(30) NOT NULL,
  `Adresse` varchar(30) NOT NULL,
  `Tel` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE= MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

-->

<?php 
if(isset($_POST['Valider'])){
echo '';
print_r($_POST);
echo '

';

/*on se connecte et on nettoie*/

mysql_connect('localhost','root','');
mysql_select_db('base1');

/*anti injection + xss*/
foreach($_POST as $k => $v){
$v=mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}


/*on extrait le tableau $_POST nettoyé */

extract($_POST);

$q= "insert into client values(
    NULL,
    '".$Code."',
    '".$Nom."',
    '".$Prenom."',
    '".$Adresse."',
    '".$Tel."'
    )
    ";



/*
$db new PDO("mysql:host localhost; dbname=mysql", "root", ""); 
$req = "insert into client values('".$_GET["Code"]."','".$_GET["Nom"]."','".$_GET["Prenom"]."','".$_GET["Adresse"]."','".$_GET["Tel"]."')";
$db->query($req); 
*/

    if(mysql_query($q)){
    echo "<html> Client ajouté avec succès
 </html>"; 
    $q =null;$_POST= array();
    }else{
    echo "<html> Client pas ajouté 
 </html>"; 
    }


}else{
//rien envoyer
}
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv ="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
 

<form action="" method="post" style=" table-layout:auto; border:solid; border-color: blue;" > 
Code :, ,

----

Nom :, ,

----

Prenom :, ,

----

Adresse:, ,

----

Tel:, ,

----

 
</form> 
 
</html>





Bonne programmation !