Deux problèmes sur page PHP
Résolu
guigeek
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
bonjour
j'ai créé une base de données MySql avec deux tables : CLIENT et ConnaissanceEntreprise (pour savoir comment les clients ont connu l'entreprise).
j'ai ensuite créé un formulaire "clients.php" pour que l'entreprise puisse ajouter des clients et pour que les clients puisse nt entrer eux-mêmes leurs informations quand ils iront sur le site web (qui n'est pas encore fait).
j'ai deux problèmes sur ma page PHP:
- j'ai une liste déroulante qui ne rammène rien alors que je fais entrer des données de la base
- quand j'envoi les données vers la base, il n'y a rien d'ajouter dans la base.
voici mon code :
j'ai créé une base de données MySql avec deux tables : CLIENT et ConnaissanceEntreprise (pour savoir comment les clients ont connu l'entreprise).
j'ai ensuite créé un formulaire "clients.php" pour que l'entreprise puisse ajouter des clients et pour que les clients puisse nt entrer eux-mêmes leurs informations quand ils iront sur le site web (qui n'est pas encore fait).
j'ai deux problèmes sur ma page PHP:
- j'ai une liste déroulante qui ne rammène rien alors que je fais entrer des données de la base
- quand j'envoi les données vers la base, il n'y a rien d'ajouter dans la base.
voici mon code :
<html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>Ajout de client</title> </head> <body> <div style="text-align: center;"><big><big><span style="font-weight: bold;">AJOUTER UN CLIENT<br> <br> </span></big></big> <div style="text-align: left;"> <form name="form1" method="post" action="clients.php"> <table style="text-align: left; width: 796px;" border="0" cellpadding="2" cellspacing="2"> <tr> <td style="width: 179px;">Nom *</td> <td style="width: 202px;"><input type="text" name="NomClient"></td> <td style="width: 252px;">Adresse de livraison (si différente)</td> <td style="width: 156px;"><input type="text" name="AdresseLivraison"></td> </tr> <tr> <td style="width: 179px;">Prenom *</td> <td style="width: 202px;"><input type="text" name="PrenomClient"></td> <td style="width: 252px;">Code postal de livraison (si différente)</td> <td style="width: 156px;"><input type="text" name="CodePostalLivraison"></td> </tr> <tr> <td style="width: 179px;">Adresse *</td> <td style="width: 202px;"><input type="text" name="AdresseClient"></td> <td style="width: 252px;">Ville de livraison (si différente)</td> <td style="width: 156px;"><input type="text" name="VilleLivraison"></td> </tr> <tr> <td style="width: 179px;">Code postal *</td> <td style="width: 202px;"><input type="text" name="CodePostalClient"></td> <td style="width: 252px;">Telephone *</td> <td style="width: 156px;"><input type="text" name="Telephone"></td> </tr> <tr> <td style="width: 179px;">Ville *</td> <td style="width: 202px;"><input type="text" name="VilleClient"></td> <td style="width: 252px;">Fax</td> <td style="width: 156px;"><input type="text" name="Fax"></td> </tr> <tr> <td style="width: 179px;">Connaissance de l'entreprise</td> <td> <select name="connaissance"> <?php mysql_connect('localhost', 'root', "mp2003") or die ("connexion impossible"); mysql_select_db('CLIENT') or die ("La base de données n'est pas accessible"); echo '<p>Choisissez un adherent:</p>'; $retour = mysql_query("SELECT * FROM ConnaissanceEntreprise ORDER BY NoConnaissance DESC") or die(mysql_error()); while ($donnees = mysql_fetch_array($retour)) { ?> <option value="<?php echo $donnnees['NoConnaissance'] ?>"> <?php echo $donnees['Connaissance'] ?></option> <?php } ?> </select> </td> <td style="width: 252px;">Adresse E-mail *</td> <td style="width: 156px;"><input type="text" name="AdresseEmail"></td> </tr> </table> <br> * : Champs obligatoires <form action="file:///C:/EasyPHP/www/clients.php" method="POST"> <?php mysql_connect('localhost', 'root', "mp2003") or die ("connexion impossible"); mysql_select_db('CLIENT') or die ("La base de données n'est pas accessible"); ?> <div align="center"> <input type="submit" name="envoyer" value="Envoyer"> <input type="reset" name="annuler" value="annuler"> </div> </form> <?php $ok = 1; if (isset($_POST['NomClient'])) {$nom = $_POST['NomClient'];} else {$ok = 0;} if (isset($_POST['PrenomClient'])) {$prenom = $_POST['PrenomClient'];} else {$ok = 0;} if (isset($_POST['AdresseClient'])) {$adresse = $_POST['AdresseClient'];} else {$ok = 0;} if (isset($_POST['CodePostalClient'])) {$codepostal = $_POST['CodePostalClient'];} else {$ok = 0;} if (isset($_POST['VilleClient'])) {$ville = $_POST['VilleClient'];} else {$ok = 0;} $adresselivr = $_POST['AdresseLivraison']; $cplivr = $_POST['CodePostalLivraison']; $villelivr = $_POST['VilleLivraison']; if (isset($_POST['Telephone'])) {$telephone = $_POST['Telephone']}; else {$ok = 0;} $fax = $_POST['Fax']; if (isset($_POST['NoConnaissance'])) {$noconnaissance = $_POST['NoConnaissance'];} else {$ok = 0;} if (isset($_POST['AdresseEmail'])) {$email = $_POST['AdresseEmail'];} else {$ok = 0;} $requete = "INSERT INTO CLIENT VALUES ('', '$nom', '$prenom', '$adresse', '$codepostal', '$ville', '$adresselivr', '$cplivr', '$villelivr', '$telephone', '$fax', '$noconnaissance', '$email')"; mysql_query($requete) or die('Erreur SQL !'.mysql_error()); echo 'vous n\'avez pas rempli tous les champs obligatoires'; ?> <p><br> <a href="file:///C:/EasyPHP/www/listeClients.php">Voir la liste des clients</a> </p> <p align="right"> <a href="file:///C:/EasyPHP/www/clients.php">haut de la page</a> </p> <big><big><span style="font-weight: bold;"></span></big></big><big><big><span style="font-weight: bold;"></span></big></big></div> </div> </body> </html>
A voir également:
- Deux problèmes sur page PHP
- Comment supprimer une page sur word - Guide
- Comment faire deux colonnes sur word - Guide
- Imprimer tableau excel sur une page - Guide
- Deux ecran pc - Guide
- Nombre de jours entre deux dates excel - Guide
10 réponses
salut,
tu ouvres deux fois <form>.
donc seulement ce qui suit est envoyé :
le <select> n'est pas dans le formulaire, il est pas envoyé.
tu ouvres deux fois <form>.
donc seulement ce qui suit est envoyé :
<form action="file:///C:/EasyPHP/www/clients.php" method="POST"> <?php mysql_connect('localhost', 'root', "mp2003") or die ("connexion impossible"); mysql_select_db('CLIENT') or die ("La base de données n'est pas accessible"); ?> <div align="center"> <input type="submit" name="envoyer" value="Envoyer"> <input type="reset" name="annuler" value="annuler"> </div> </form>
le <select> n'est pas dans le formulaire, il est pas envoyé.
j'ai enlevé le 2ème <form> et j'ai replacé le </form> à la fin, avant </div> </body> </html>
mais ça ne marche toujours pas
mais ça ne marche toujours pas
moi pour mes prob de form je me cré une page test qui recoit les informations, et comme ca je vois qu elle informations arrive ou pas.
De plus lorsque ton script est toujours en cours de debugage utilise la fonction "get" ca te permettra de voir les informations qui circule dans la barre d adresse.
;) bon courage faut etre patient
De plus lorsque ton script est toujours en cours de debugage utilise la fonction "get" ca te permettra de voir les informations qui circule dans la barre d adresse.
;) bon courage faut etre patient
tu créé une page de donné dans lesquels tu récup tes donné du form
Voila en gros le principe et tu verra si le probleme viens de la recupération des données (si il en manque aps lorsque tu recupere) ou si il vient des requetes
Petit conseil quand tu es pas sur n hesite pas à te faire des repaires qui s affiche dans certaines condition de maniere a debugger le code et savoir si il rentre a des endroits ou il devrait pas ou autre.
premier page : <form method="get" action="test.php">* . . . </form> deuxieme page if(!empty($_GET['nomDuArecuperer'])) { echo("$_GET['nomDuArecuperer']"); } else { echo("ca marche pas"); }
Voila en gros le principe et tu verra si le probleme viens de la recupération des données (si il en manque aps lorsque tu recupere) ou si il vient des requetes
Petit conseil quand tu es pas sur n hesite pas à te faire des repaires qui s affiche dans certaines condition de maniere a debugger le code et savoir si il rentre a des endroits ou il devrait pas ou autre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
donc il faut juste que dans ma page "clients.php" j'enlève toute la partie des "if isset ..." et compagnie , et je change le <form> en changeant le "post" avec le "get"
et que dans la page "test.php" je mette tous les "if (!empty ..."
c ca ??????
et que dans la page "test.php" je mette tous les "if (!empty ..."
c ca ??????
tu n a pas situé le probleme, tu sais pas si ca vient ou non de la recuperation.
tu crée une page test avec des empty (si c'est vide ca ira dans le else sinon ca affichera ce que tu veux)
tout ce que tu as changer c'est le form et le passer en method="get" action="test.php" et apres tu test ta recupération de donné. Une fois que la récupération tu sais que ton formulaire envoie toutes tes données.
Puis tu garde la method get et tu test avec ton fichier d origine et en mettant des echo de ce que tu récupère pour si c'est bien ce que tu dois récupéré.
Si tout est bon c'est que ton prob viens d ailleur lol
tu crée une page test avec des empty (si c'est vide ca ira dans le else sinon ca affichera ce que tu veux)
tout ce que tu as changer c'est le form et le passer en method="get" action="test.php" et apres tu test ta recupération de donné. Une fois que la récupération tu sais que ton formulaire envoie toutes tes données.
Puis tu garde la method get et tu test avec ton fichier d origine et en mettant des echo de ce que tu récupère pour si c'est bien ce que tu dois récupéré.
Si tout est bon c'est que ton prob viens d ailleur lol
bon, j'ai modifié le <form method="post" action="test.php"> en <form method="get" action="test.php"> et j'ai créé test.php et ca donne ca :
<?php
if(!empty($_GET['NomClient']))
{
echo("$_GET['NomClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['PrenomClient']))
{
echo("$_GET['PrenomClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['AdresseClient']))
{
echo("$_GET['AdresseClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['CodePostalClient']))
{
echo("$_GET['CodePostalClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['VilleClient']))
{
echo("$_GET['VilleClient']");
}
else
{
echo("ca marche pas");
}
$adresselivr = $_GET['AdresseLivraison'];
$cplivr = $_GET['CodePostalLivraison'];
$villelivr = $_GET['VilleLivraison'];
if(!empty($_GET['Telephone']))
{
echo("$_GET['Telephone']");
}
else
{
echo("ca marche pas");
}
$fax = $_GET['Fax'];
if(!empty($_GET['NoConnaissance']))
{
echo("$_GET['NoConnaissance']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['AdresseEmail']))
{
echo("$_GET['AdresseEmail']");
}
else
{
echo("ca marche pas");
}
?>
jusque là, est-ce que c'est bon ?
dans la barre d'adresse aorès l'envoi j'ai : "file:///C:/EasyPHP/www/test.php?NomClient=Torticoli&AdresseLivraison=&
PrenomClient=Hector&CodePostalLivraison=&AdresseClient=18+rue+des+cerisiers&
VilleLivraison=&CodePostalClient=35000&Telephone=0202020202&
VilleClient=St+Jacques+de+la+mangue&Fax=&connaissance=%3C%3Fphp+echo+
%24donnnees%5B%27NoConnaissance%27%5D+%3F%3E
&AdresseEmail=jerome%40pamplemousse.fr&envoyer=Envoyer"
<?php
if(!empty($_GET['NomClient']))
{
echo("$_GET['NomClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['PrenomClient']))
{
echo("$_GET['PrenomClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['AdresseClient']))
{
echo("$_GET['AdresseClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['CodePostalClient']))
{
echo("$_GET['CodePostalClient']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['VilleClient']))
{
echo("$_GET['VilleClient']");
}
else
{
echo("ca marche pas");
}
$adresselivr = $_GET['AdresseLivraison'];
$cplivr = $_GET['CodePostalLivraison'];
$villelivr = $_GET['VilleLivraison'];
if(!empty($_GET['Telephone']))
{
echo("$_GET['Telephone']");
}
else
{
echo("ca marche pas");
}
$fax = $_GET['Fax'];
if(!empty($_GET['NoConnaissance']))
{
echo("$_GET['NoConnaissance']");
}
else
{
echo("ca marche pas");
}
if(!empty($_GET['AdresseEmail']))
{
echo("$_GET['AdresseEmail']");
}
else
{
echo("ca marche pas");
}
?>
jusque là, est-ce que c'est bon ?
dans la barre d'adresse aorès l'envoi j'ai : "file:///C:/EasyPHP/www/test.php?NomClient=Torticoli&AdresseLivraison=&
PrenomClient=Hector&CodePostalLivraison=&AdresseClient=18+rue+des+cerisiers&
VilleLivraison=&CodePostalClient=35000&Telephone=0202020202&
VilleClient=St+Jacques+de+la+mangue&Fax=&connaissance=%3C%3Fphp+echo+
%24donnnees%5B%27NoConnaissance%27%5D+%3F%3E
&AdresseEmail=jerome%40pamplemousse.fr&envoyer=Envoyer"
re,
le "stage" et "c'est urgent" : on s'en fout.
"je suis pas un pro" et alors tu crois qu'il a que des pros sur le forum ?
si c'était le cas tu aurais une sacrée note à régler…
donc : pas de pro d'un côté, pas d'urgent de l'autre.
ton problème. où en es-tu ?
tu récupères les infos, c'est correcte ?
teste ta requête sql, teste la dans phpMyAdmin pour voir si elle fonctionne.
mais tu devrais ajouter le nom des champs à mettre à jours. sinon si tu n'ajoutes pas autant de valeurs qu'il y a de champs ça ne fonctionnera pas. une bdd c'est puissant mais ça lis pas dans les boules de cristal !
-;o)
le "stage" et "c'est urgent" : on s'en fout.
"je suis pas un pro" et alors tu crois qu'il a que des pros sur le forum ?
si c'était le cas tu aurais une sacrée note à régler…
donc : pas de pro d'un côté, pas d'urgent de l'autre.
ton problème. où en es-tu ?
tu récupères les infos, c'est correcte ?
teste ta requête sql, teste la dans phpMyAdmin pour voir si elle fonctionne.
mais tu devrais ajouter le nom des champs à mettre à jours. sinon si tu n'ajoutes pas autant de valeurs qu'il y a de champs ça ne fonctionnera pas. une bdd c'est puissant mais ça lis pas dans les boules de cristal !
-;o)
merci de m'avoir aidé mais en fait le problème ne venait pas du code mais il faut que quand je tape l'adresse dans la barre d'adresse je rajoute "localhost" entre le http et le fichier.php
A+
A+
euh..... je peut rire... dsl lollllll
Bon dans tous les cas guigeek le principe de vérification est important pour le debugage que ca soit en php ou c++. Quand tu as un soucie faut debuger ton code avec des repere de maniere a situer exactement l erreur.
Et la si tu n arrive pas tu demande de l'aide car tres souvent ce sont des petites betises les erreurs
Bon dans tous les cas guigeek le principe de vérification est important pour le debugage que ca soit en php ou c++. Quand tu as un soucie faut debuger ton code avec des repere de maniere a situer exactement l erreur.
Et la si tu n arrive pas tu demande de l'aide car tres souvent ce sont des petites betises les erreurs