Base de données
manon
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, j'ai crée une base de données sur ovh et une table "questionnaire" sur phpadmin, le résultat sur la page web est bien sauf que quand je remplis le questionnaire sur la page, les infos ne sont pas envoyées dans la base de données...ça ne fonctionne pas et je ne sais pas pourquoi...
Voici ma page web:
Et voici ma page php pour le questionnaire:
Une amie a fait exactement la même chose et ça fonctionne, moi impossible d'envoyer les réponses dans ma base données, ya rien qui se passe... HELP!!!!!!
EDIT : Ajout des balises de code.
Merci d'y penser la prochaine fois;
Merci pour votre aide...
Voici ma page web:
<?php
include("questionnaire.php");
?>
<?php
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Avis</title>
<meta name="author" content="Cupcakes-Delice">
<meta name="description" content="Ensemble de recette cupcakes, différentes sortes de cupcakes, génoise des cupcakes, glaçage des cupcakes et des conseils pour réaliser de délicieux cupcakes">
<meta property="og:description" content="Tous sur les cupcakes, toutes les recettes cupcakes et comment bien réussir ses cupcakes">
<meta http-equiv="revisit-after" name="Revisit-after" content="2 days" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="index, follow, all">
<meta name="robots" content="INDEX|FOLLOW" />
<meta http-equiv="robots" name="Robots" content="all" />
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
include("a-header.php"); // on appelle le fichier
include("a-bandeausousheader.php"); // on appelle le fichier
include("a-menugauche.php"); // on appelle le fichier
?>
<td width="802" align="left" valign="top" bgcolor="#730800"> <!--pavé centrale pas touche//-->
<table width="100%" border="0" cellpadding="10" cellspacing="10">
<BR>
<CENTER><I><FONT COLOR="white" class="Titre"><u>Votre avis nous interesse...</I></u></center>
</table>
<BR>
<BR>
<?php
include("a-colonnedroite.php"); // on appelle le fichier
include("a-footer.php"); // on appelle le fichier
?>
<!--google analytics//-->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=´" + gaJsHost + "google-analytics.com/ga.js´ type=´text/javascript´%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-12743083-4");
pageTracker._trackPageview();
} catch(err) {}</script>
<!--end of google analytics//-->
<?php if($error) { ?>Les champs portant une étoile sont obligatoire.
<?php } ?>
<center><forme method="post" action="questionnaire.php" class="Corps">
<label>Nom:</label>
<input type="text" name="Nom">
<BR>
<BR>
<label>Prénom:</label>
<input type="text" name="Prénom">
<BR>
<BR>
<label>Age:</label>
<input type="number" name="Age">
<BR>
<BR>
<label>Ville*:</label>
<input type="text" name="Ville">
<BR>
<BR>
<label>Votre recette favorite*:</label>
<input type="text" name="Recette">
<BR>
<BR>
<label>Qu'avez-vous pensé de notre site?:</label>
<textarea name="Avis"></textarea>
<BR>
<BR>
<BR><button type="submit">Valider</button></center>
</body>
Et voici ma page php pour le questionnaire:
<?php
$error = false;
if(!empty($_POST)){
if(!defined('DB_HOST')){
define ('DB_HOST', 'mysql55-32.perso');
define ('DB_PORT', '5532');
define ('DB_DATABASE', 'cupcakesafavis');
define ('DB_USERNAME', 'cupcakesafavis');
define ('DB_PASSWORD', 'Souris0412');
}
try {
$BDD = new PDO('mysql:host='.DB_HOST.';port='.DB_PORT.';dbname='.DB_DATABASE, DB_USERNAME, DB_PASSWORD);
$BDD->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$BDD->exec("SET NAMES 'utf8'");
} catch(Exception $e) {
echo 'Erreur : '.$e->getMessage().'<br/>';
echo 'N° : '.$e->getCode();
exit();
}
$Nom = $_POST['Nom'];
$Prénom = $_POST['Prénom'];
$Age = $_POST['Age'];
$Ville = $_POST['Ville'];
$Recette = $_POST['Recette'];
$Avis = $_POST['Avis'];
if($Ville != "" && $Recette != ""){
$req = "INSERT INTO `questionnaire`(`Nom`, `Prénom`, `Age`, `Ville`, `Recette`, `Avis`) VALUES ('$Nom', '$Prénom', $Age, '$Ville', '$Recette', '$Avis')";
$resp = $BDD->exec($req);
} else {
$error = true;
}
}
Une amie a fait exactement la même chose et ça fonctionne, moi impossible d'envoyer les réponses dans ma base données, ya rien qui se passe... HELP!!!!!!
EDIT : Ajout des balises de code.
Merci d'y penser la prochaine fois;
Merci pour votre aide...
A voir également:
- Base de données
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Formules mathématiques de base - Télécharger - Études & Formations
2 réponses
Bonjour,
1 - Evites de mettres des caractères accentués pour les noms de variables....
Prénom est à écrire Prenom !
NB: Les accents sont à éviter également dans le nom des champs d'une table de base de données ainsi que dans les attributs NAME ou ID des éléments HTML.
2 - Récupère proprement tes variables (via un ISSET par exemple)
Comme ceci :
3 - Ajoute du débogage lors de l'éxécution de la requête pour voir si tout se passe correctement (via un bloc Try/catch)
NB: Le temps du développement, ajoute également l'instruction suivante AU DEBUT de tes pages PHP. (juste après ton premier :
1 - Evites de mettres des caractères accentués pour les noms de variables....
Prénom est à écrire Prenom !
NB: Les accents sont à éviter également dans le nom des champs d'une table de base de données ainsi que dans les attributs NAME ou ID des éléments HTML.
2 - Récupère proprement tes variables (via un ISSET par exemple)
Comme ceci :
// Récupération "propre" des variables $Nom = isset($_POST['Nom']) ? $_POST['Nom'] : ''; $Prenom = isset($_POST['Prenom']) ? $_POST['Prenom'] : ''; $Age = isset($_POST['Age']) ? $_POST['Age'] : ''; $Recette = isset($_POST['Recette']) ? $_POST['Recette'] : ''; $Ville = isset($_POST['Ville']) ? $_POST['Ville'] : ''; $Avis = isset($_POST['Avis']) ? $_POST['Avis'] : '';
3 - Ajoute du débogage lors de l'éxécution de la requête pour voir si tout se passe correctement (via un bloc Try/catch)
if( !empty($Ville) && !empty($Recette) ){
try{
$req = "INSERT INTO `questionnaire`(`Nom`, `Prenom`, `Age`, `Ville`, `Recette`, `Avis`) VALUES ('$Nom', '$Prenom', $Age, '$Ville', '$Recette', '$Avis')";
$resp = $BDD->exec($req);
}catch(Exception $e){
// en cas d'erreur dans la requête
echo "Error ! ". $e->getMessage() ."<br>";
echo "Erreur dans la requête <br> $req !";
$error = true;
}
} else {
$error = true;
}
NB: Le temps du développement, ajoute également l'instruction suivante AU DEBUT de tes pages PHP. (juste après ton premier :
<?php)
//Affiche les erreurs PHP error_reporting(E_ALL);
bon jsais plus quoi faire tanpis
Commence par Corriger ton code en tenant compte de mes précédentes remarques
PUIS postes nous le code modifié que l'on regarde si tu l'as bien fait.
C'est à cette seule condition que je pourrais t'aider.
Voilà la page "questionnaire.php" modifiée...
?>
Il doit y avoir des erreurs car je ne comprend pas tout...Mais honnêtement je ne pense pas que le problème vienne de là puisque le lien entre la page web et la base de donnée ne se fait pas...donc selon moi c'est la page "avis.php" lorsqu'on appelle la page qu'il doit y avoir une erreur..Et le modèle de la page "questionnaire.php" nous a été donné par le prof donc il n'y a normalement pas de soucis avec cette page...
Merci.
EDIT : AJOUT DES BALISES DE CODE ....... ( ENCORE !!!!!!!!!!! )
<?php
// INFORMATIONS DE CONNEXION A LA BDD
// SUPPRIMEES PAR LA MODERATION !
mysql_pconnect($serveur, $utilisateur , $motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");
$nom = isset ($_POST["nom"]) ? $_POST["nom"] : '';
$prenom = isset ($_POST["prenom"]) ? $_POST["prenom"] :'';
$age = isset ($_POST["age"]) ? $_POST["âge"] : '';
$ville = isset ($_POST["ville"]) ? $_POST["ville"] : '';
$recette = isset ($_POST["recette"]) ? $_POST["recette"] : '' ;
$avis = isset ($_POST["avis"]) ? $_POST["prenom"] : '';
if( !empty ($ville) && !empty ($recette) ) {
try{$req= "INSERT INTO 'questionnaire'('nom', 'prenom', 'age', 'ville', 'recette', 'avis') VALUES ('$nom', '$prenom', '$age', '$ville', '$recette', '$avis' )
$resp= $BDD->exec($req);
}catch (Exception $e) {
// en cas d'erreur de la requête
echo "Error !". $e->getMessage() ."<br>;
echo"Erreur dans la requête <br> $req !";
$error = true;
}
}else {
$error = true;
}
?>
Il doit y avoir des erreurs car je ne comprend pas tout...Mais honnêtement je ne pense pas que le problème vienne de là puisque le lien entre la page web et la base de donnée ne se fait pas...donc selon moi c'est la page "avis.php" lorsqu'on appelle la page qu'il doit y avoir une erreur..Et le modèle de la page "questionnaire.php" nous a été donné par le prof donc il n'y a normalement pas de soucis avec cette page...
Merci.
EDIT : AJOUT DES BALISES DE CODE ....... ( ENCORE !!!!!!!!!!! )
1 - tu dois utiliser LES BALISES DE CODE lorsque tu postes du code sur le forum
(dernier rappel !!!!!! )
2 - Ne penses tu pas qu'il manque une quote dans ta requête ? (des guillemets )
3 - Je ne vois pas la ligne
4 - NE POSTES PAS TES IDENTIFIANTS de connexion à ta BDD SUR LE FORUM
(dernier rappel !!!!!! )
2 - Ne penses tu pas qu'il manque une quote dans ta requête ? (des guillemets )
3 - Je ne vois pas la ligne
error_reporting(E_ALL);
4 - NE POSTES PAS TES IDENTIFIANTS de connexion à ta BDD SUR LE FORUM
Comment veux tu .... sans avoir le message d'erreur COMPLET et EXACTE ... que je puisse t'aider ????
Ni sans savoir EXACTEMENT ce que tu as écrit comme code ?????
Voilà ma page web "avis.php":
<?php ?> <!DOcTYPE html PUBLIc "-//W3c//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" /> <title>Avis</title> <meta name="author" content="cupcakes-Delice"> <meta name="description" content="Ensemble de recette cupcakes, différentes sortes de cupcakes, génoise des cupcakes, glaçage des cupcakes et des conseils pour réaliser de délicieux cupcakes"> <meta property="og:description" content="Tous sur les cupcakes, toutes les recettes cupcakes et comment bien réussir ses cupcakes"> <meta http-equiv="revisit-after" name="Revisit-after" content="2 days" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="pragma" content="no-cache" /> <meta name="robots" content="index, follow, all"> <meta name="robots" content="INDEX|FOLLOW" /> <meta http-equiv="robots" name="Robots" content="all" /> <script src="Scripts/Ac_RunActivecontent.js" type="text/javascript"></script> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <?php include("a-header.php"); // on appelle le fichier include("a-bandeausousheader.php"); // on appelle le fichier include("a-menugauche.php"); // on appelle le fichier ?> <td width="802" align="left" valign="top" bgcolor="#730800"> <!--pavé centrale pas touche//--> <table width="100%" border="0" cellpadding="10" cellspacing="10"> <BR> <cENTER><I><FONT cOLOR="white" class="Titre"><u>Votre avis nous interesse...</I></u></center> </table> <BR> <BR> <?php include("a-colonnedroite.php"); // on appelle le fichier include("a-footer.php"); // on appelle le fichier ?> <!--google analytics//--> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3cscript src=´" + gaJsHost + "google-analytics.com/ga.js´ type=´text/javascript´%3E%3c/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-12743083-4"); pageTracker._trackPageview(); } catch(err) {}</script> <!--end of google analytics//--> <?php if($error) { ?>Les champs portant une étoile sont obligatoire. <?php } ?> <center><form method="post" action="questionnaire1.php" class="Corps"> <label>Nom:</label> <input type="text" name="nom"> <BR> <BR> <label>Prénom:</label> <input type="text" name="prenom"> <BR> <BR> <label>Age:</label> <input type="number" name="age"> <BR> <BR> <label>Ville*:</label> <input type="text" name="ville"> <BR> <BR> <label>Votre recette favorite*:</label> <select name="recette"> <option selected>Cupcakes Natures <option>Cupcakes Vanille <option>Cupcakes Chocolat <option>Cupcakes Oréos <option>Cupcakes Nutella <option>Cupcakes Choco-coco <option>Cupcakes Fraise <option>Cupcakes Chocolat-caramel <option>Cupcakes Citron <option>Cupcakes Citron-mûre <option>Cupcakes Kinder <option>Cupcakes Rainbow <option>Cupcakes Poulet <option>Cupcakes Mojito <option>Cupcakes Lardons <option>Cupcakes Les Minions <option>Cupcakes Araignées <option>Cupcakes courgette <option>Cupcakes Burger <option>Cupcakes Saumon </select> <BR> <BR> <label>Qu'avez-vous pensé de notre site?:</label> <textarea name="avis"></textarea> <BR> <BR> <BR><button type="submit">Valider</button></center> </body>Voilà ma page "questionnaire1.php" pour appeler la base de données:
<?php $serveur = "LESEFVEUR"; $utilisateur = "LEUSER"; $motDePasse = "LEPASSWORD"; $base = "cupcakesafavis"; mysql_pconnect($serveur, $utilisateur , $motDePasse) or die("Impossible de se connecter au serveur de bases de données."); mysql_select_db($base) or die("Base de données non trouvée."); $nom = $_POST["nom"]; $prenom = $_POST["prenom"]; $age = $_POST["age"]; $ville = $_POST["ville"]; $recette = $_POST["recette"]; $avis = $_POST["avis"]; mysql_query("INSERT INTO 'questionnaire' (nom, prenom, age, ville, recette, avis)". " VALUES ('$nom', '$prenom', '$age', '$ville', '$recette', '$avis' )" or die("Impossible d'insérer le résultat du sondage"); echo "Merci"; ?>Et voilà mon site si tu veux aller voir le résultat: www.cupcakes-delice.ovh dans "Votre avis"....
Je pense que c'est dans la page "avis" qu'il y a un soucis, le lien ne se fait pas avec la base de données puisque dans cette page "avis", quand j'appelle "questionnaire1.php", même si j'appelle une autre page, il y a marqué "erreur du serveur" quand je valide le formulaire...
Merci :)
Merci d'y penser la prochaine fois !
J'ai également supprimé les informations de connexion à ta BDD .....
On ne poste jamais ces infos sur un forum ...... !!!
Je n'ai eu aucune erreur.