probleme au niveau des $_POST

nask
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 22:16

Bonjour,
je suis en train de creer une base données pour le lycee et voila le problème que je rencontre, je souhaite insérer mes donnees dans la base mais voila les deux erreurs que j'ai
Notice: Undefined index: adville_client in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 19
Notice: Undefined index: n°représentant in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 21
Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 23
Erreur de connection Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)
Voici ce que contiennent les lignes
l19 : $adville_client=$_POST['adville_client'];
l21 : $n°représentant=$_POST['n°représentant'];
l23 : $connexion=mysql_connect("localhost","root","mysql") or die ('Erreur de connection '.mysql_error());
je ne comprends vraiment pas car par exemple ma ligne 18 est du même type : $adrue_client=$_POST['adrue_client'];

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 mars 2012, 23:14

je suis en train de creer une base données pour le lycee
Boarf, te casse pas. Facebook existe déjà. :langue:
l19 : $adville_client=$_POST['adville_client']; 
vérifie dans ton formulaire si le name de ton champ est bien identique.
Une faute de frappe arrive si vite...
l21 : $n°représentant=$_POST['n°représentant']; 
Le libellé n°représentant n'est valable ni pour un nom de variable, ni pour un champ de base.
Mieux vaut choisir qq chose du style : num_representant (pas d'espaces, pas de °, pas de caractères accentués)

Mammouth du PHP | 2278 Messages

27 mars 2012, 07:48

l23 : $connexion=mysql_connect("localhost","root","mysql") or die ('Erreur de connection '.mysql_error());
Si c'est une installation par défaut de Easymachin et de Maséquelle, il n'y a sûrement as de mot de passe:
l23 : $connexion=mysql_connect("localhost","root","") or die ('Erreur de connection '.mysql_error());
et si ça raconte une autre erreur:
l23 : $connexion=mysql_connect("127.0.0","root","mysql") or die ('Erreur de connection '.mysql_error());
l23 : $connexion=mysql_connect("127.0.0","root","") or die ('Erreur de connection '.mysql_error());

Sinon, on a spécifié un mot de passe pour le root de Mysql et on a oublié de le noter.
Modifié en dernier par sirakawa le 27 mars 2012, 15:40, modifié 1 fois.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2012, 11:54

Merci, malheureusement c'est bien identique et toujours le même message d'érreur ...

Nask
Invité n'ayant pas de compte PHPfrance

28 mars 2012, 15:15

J'ai refait entièrement le formulaire, toujours pareil

Mammouth du PHP | 702 Messages

28 mars 2012, 15:49

montre nous le code de ton formulaire et ta requête pour insérer les données sur ta bdd

Petit nouveau ! | 8 Messages

28 mars 2012, 17:21

voila le formulaire

Code : Tout sélectionner

<html> <head> <title>Formulaire client- LA VIENNOISERIE DOREE</title> </head> <link rel="stylesheet" media="screen" type="text/css" title="css" href="client.css" /> <body> <div id="tete"> <h1><center><b>LA VIENNOISERIE DOREE</b></center></h1> </div> <br /> <div id="corps"> <center><h2><b>FORMULAIRE DE SAISIE CLIENT</b></h2></center><br /> <form action="http://127.0.0.1/Viennoiserie/CLIENT.php" method="post" class="form"> <table> <tr> <td><li/><label><b>Numéro client</b></label></td><td><input type="text" name="n°client"></td> </tr> <tr> <td><li/><label><b>Raison sociale</b></label></td><td><input type="text" name="raison sociale"></td> </tr> <tr> <td><li/><label><b>Adresse client</b></label></td><td><input type="text" name="adrue client"></td> </tr> <tr> <td><li/><label><b>Ville</b></label></td><td><input type="text" name="advilleclient"></td> </tr> <tr> <td><li/><label><b>Catégorie client</b></label></td><td><input type="text" name="catégorie client"></td> </tr> <tr> <td><li/><label><b>N° représentant</b></b></label></td><td><input type="text" name="n°représentant></td> </tr> <tr> <td></td><td align="center"><input type="submit" value="Valider" ></td> </tr> </table> </form> <br /> <br /> </div> </body> </html>
et le script php

Code : Tout sélectionner

<html> <head> <title> Formulaire de saisie </title> </head> <link rel="stylesheet" media="screen" type="text/css" title="css" href="salarie.css" /> <body> <div id="tete"> <h1><center><b></b></center></h1> </div> <br /> <div id="corps"> <center> <h2><b> FORMULAIRE DE SAISIE CLIENT </b></h2> </center> <br /> <center><b><?php $n°client=$_POST['n°client']; $raison sociale=$_POST['raison sociale']; $adrue client=$_POST['adrue client']; $advilleclient=$_POST['advilleclient']; $Catégorie client=$_POST['Catégorie client']; $n°représentantt=$_POST['n°représentant']; $connexion=mysql_connect("localhost","root","mysql") or die ('Erreur de connection '.mysql_error()); if($connexion) { //connexion réussie mysql_select_db("viennoiserie",$connexion) or die ('Erreur de connection '.mysql_error()) ; $requete="INSERT INTO clientVALUES ('$n°client','$raison sociale','$adrue client','$advilleclient','$catégorie client','$n°représentant');"; $ok=mysql_query($requete,$connexion) ; if($ok) { echo"Les informations ont été correctement ajoutées"; } else { echo"Attention, l'ajout a échoué !"; } } else { echo"Problème à la connexion <br />"; } mysql_close($connexion); ?></b> </center> <br /> <br /> </div> </body></html>

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

28 mars 2012, 19:07

$Catégorie client=$_POST['Catégorie client'];
$n°représentantt=$_POST['n°représentant'];
Heureusement que j'ai dit :
Le libellé n°représentant n'est valable ni pour un nom de variable, ni pour un champ de base.
Mieux vaut choisir qq chose du style : num_representant (pas d'espaces, pas de °, pas de caractères accentués)
:( #-o

Petit nouveau ! | 8 Messages

28 mars 2012, 19:15

Merci beaucoup et je n'avais pas fait attention au bas de ton message :D

Désormais la page php s'affiche avec la personnalisation css mais j'ai le droit à :

Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 23
Erreur de connection Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)

la ligne concernée
$connexion=mysql_connect("localhost","root","mysql") or die ('Erreur de connection '.mysql_error()); 
J'ai modifié la table avec les _ et pareil pour le formulaire et toujours ce message erreur (nouveau maintenant )

C'est mon unique problème
Je précise que je n'ai pas de mot de passe sur mon sql normalement

Mammouth du PHP | 702 Messages

29 mars 2012, 09:32

saluit essaye de remplacer
$connexion=mysql_connect("localhost","root","mysql") or die ('Erreur de connection '.mysql_error()); 
par
<?php

# Type="MYSQL"
# HTTP="true"
$hostname_localhost = "127.0.0.1";
$database_localhost = "le_nom_de_ta_base_de_donnees";
$username_localhost = "root";
$password_localhost = "";
$localhost = mysql_pconnect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

Invité
Invité n'ayant pas de compte PHPfrance

29 mars 2012, 17:21

Merci mais voici un nouveau message d'erreur
Notice: Undefined variable: connexion in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 34
Problème à la connexion 

Notice: Undefined variable: connexion in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 54

Warning: mysql_close() expects parameter 1 to be resource, null given in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\VIENNOISERIE\client.php on line 54

à la ligne 34 j'ai {
à la ligne 54 j'ai mysql_close($connexion);

ViPHP
xTG
ViPHP | 7331 Messages

29 mars 2012, 17:23

Normal, piotrowski-st'a donné un code qui remplace la variable $connexion par $localhost.
Faut donc répercuter le changement sur le reste du code (ou bien renommer la variable de son code ;)).

Invité
Invité n'ayant pas de compte PHPfrance

29 mars 2012, 17:28

Ok je viens de supprimer ça :D
Maintenant j'ai erreur à la ligne 37

$requete="INSERT INTO clientVALUES ('$num_client','$raison_sociale','$adrue_client','$advilleclient','$categorie_client','$num_representant');";

Comment remplacer cette variable ?

Petit nouveau ! | 8 Messages

29 mars 2012, 17:32

J'ai rien dit
Voici l'unique message maintenant sans erreur : Les informations ont été correctement ajoutéesAttention, l'ajout a échoué !Problème à la connexion
En fait il se contente de lire mes "echo"
Voici mon code entier, qu'est-ce qui ne va pas ?
<html>
<head>
<title> Formulaire de saisie </title>
</head>
<link rel="stylesheet" media="screen" type="text/css" title="css" href="client.css" />

<body>
<div id="tete">
<h1><center><b></b></center></h1>
</div>
<br />
<div id="corps">
<center> <h2><b> FORMULAIRE DE SAISIE CLIENT </b></h2> </center> <br />

<center><b><?php
$num_client=$_POST['num_client'];
$raison_sociale=$_POST['raison_sociale'];
$adrue_client=$_POST['adrue_client'];
$advilleclient=$_POST['advilleclient'];
$categorie_client=$_POST['categorie_client'];
$num_representant=$_POST['num_representant'];

# Type="MYSQL"
# HTTP="true"
$hostname_localhost = "127.0.0.1";
$database_localhost = "viennoiserie";
$username_localhost = "root";
$password_localhost = "";
$localhost = mysql_pconnect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR); 

//connexion réussie

$requete="INSERT INTO clientVALUES ('$num_client','$raison_sociale','$adrue_client','$advilleclient','$categorie_client','$num_representant');";
{
echo"Les informations ont été correctement ajoutées";
}
{
echo"Attention, l'ajout a échoué !";
}

{
echo"Problème à la connexion <br />";
}

?></b> </center>
<br />
<br />

</div>

</body></html>



ViPHP
xTG
ViPHP | 7331 Messages

29 mars 2012, 17:47

Ce qui ne va pas ? Ta connaissance du langage...
Donc un peu de lecture : http://phpdebutant.org/article67.php
Et je te recommande de lire tous les autres liens dans le menu de droite...

Et si tu veux savoir ce que fais ton script actuellement :
1) il se connecte à la base de données
2) il renseigne dans $sql une chaîne de caractères (ta requête)
3) il affiche trois messages grâce à echo
Et rien de plus. ;)

Donc non contrairement à ce que tu penses tu n'y es pas presque... :non: