Problème avec " Variable " et " base de donnée ".
ghostofnight76
Messages postés
254
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour ,
J'étudie les " base de données " , et j'apprends qu'on peu utiliser des variables dans une requêtes SQL .
Donc voici le code :
Le problème ?
Notice: Undefined index: auteur in C:\wamp\www\Blog\index.php on line 25
J'ai beau chercher d'ou vient le problème mais impossible .
Voilà j'espère que vous pourriez m'aidez .
Merci =)
J'étudie les " base de données " , et j'apprends qu'on peu utiliser des variables dans une requêtes SQL .
Donc voici le code :
<!DOCTYPE html>
<html>
<head>
<title>Blog de Thomas.LANCHON</title>
<meta charset="utf-8" lang="Fr">
<link href="style.css" rel="stylesheet">
</head>
<body>
<form method="POST" action="index.php">
<input type="text" name="auteur" placeholder="Auteur" alt="" title="Auteur">
<input type="text" name="prix" placeholder="Prix" alt="" title="Prix">
</form>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$reponse = $bdd->prepare('SELECT * FROM jeux_video possesseur = ? ');
$reponse->execute(array($_POST['auteur']));
while($donnees = $reponse->fetch())
{
echo ( $donnees['possesseur']);
}
$reponse->closeCursor();
?>
</body>
</html>
Le problème ?
Notice: Undefined index: auteur in C:\wamp\www\Blog\index.php on line 25
J'ai beau chercher d'ou vient le problème mais impossible .
Voilà j'espère que vous pourriez m'aidez .
Merci =)
A voir également:
- Problème avec " Variable " et " base de donnée ".
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- Formules excel de base - Guide
- Gigaset a170h problème base ✓ - Forum telephonie fixe
1 réponse
Bonjour
Ce n'est pas un problème de mysql, c'est PHP qui détecte cette erreur car effectivement $_POST['auteur'] n'est pas défini, du moins la première fois que tu exécutes ton script.
En effet, quand tu l'exécutes la première fois, le formulaire s'affiche mais l'exécution continue. Contrairement à ce que tu sembles croire, il n'attend pas que le formulaire soit saisi. Donc la variable $_POST est vide. Elle sera remplie quand on validera le formulaire en cliquant sur le bouton submit (tiens, il n'y en a pas ? il faut le rajouter).
Le script sera appelé une seconde fais, avec cette fois la variable $_POST qui contiendra les valeurs saisies dans les champs du formulaire.
Pour éviter de traiter le formulaire s'il n'a pas été saisi, il suffit de tester l'existence d'une des (idéalement toutes) variables du formulaire avec isset :
Ce n'est pas un problème de mysql, c'est PHP qui détecte cette erreur car effectivement $_POST['auteur'] n'est pas défini, du moins la première fois que tu exécutes ton script.
En effet, quand tu l'exécutes la première fois, le formulaire s'affiche mais l'exécution continue. Contrairement à ce que tu sembles croire, il n'attend pas que le formulaire soit saisi. Donc la variable $_POST est vide. Elle sera remplie quand on validera le formulaire en cliquant sur le bouton submit (tiens, il n'y en a pas ? il faut le rajouter).
Le script sera appelé une seconde fais, avec cette fois la variable $_POST qui contiendra les valeurs saisies dans les champs du formulaire.
Pour éviter de traiter le formulaire s'il n'a pas été saisi, il suffit de tester l'existence d'une des (idéalement toutes) variables du formulaire avec isset :
<?php
if (isset($_POST['auteur'])) {
try
....
$reponse->closeCursor();
}
....
Et le but de ton script m'échappe un peu : si tu sélectionnes les lignes dont le champ possesseur a une certaine valeur, et que tu n'affiches que le champ possesseur, tu ne vas afficher que cette valeur... Tout au plus, ça va te permettre de voir combien il y a de lignes.