Problème lors de la requête.
Résolu
UbuntuPR
Messages postés
100
Statut
Membre
-
UbuntuPR Messages postés 100 Statut Membre -
UbuntuPR Messages postés 100 Statut Membre -
Bonsoir (ou bonjour ^^)
Voila, je réalise une page web dont le but est d'ajouter des équipes dans une base de données, et je souhaite également permettre l'upload d'une image, afin d'avoir le logo de l'équipe pour une page fiche équipe qui sera générée à partir de cette table.
J'ai donc un problème qui est le suivant :
- Lorsque que j'appuie sur envoyer, le fichier est bien uploadé sur le serveur, mais la requête sql n'aboutie pas. (PHP n'affiche aucune erreur)
- Si j'enlève l'upload, la requête php fonctionne et une ligne est ajouter à la table !
Voici le code, n'hésitez pas à ma questionner si vous me trouvez pas clair.
Code :
<html>
<head>
<title> Ajouter équipe </title>
<link rel="icon" type="image/x-icon" href="/Icone.ico" />
<link rel="apple-touch-icon" href="/Icone.ico" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body style="width:1000px;margin:auto;">
<div>
<fieldset>
<legend> Nouvelle équipe </legend>
<form method="post" action="newTeam.php" enctype="multipart/form-data">
<label for="team_name">Nom de l'équipe</label> : <input type="text" name="team_name" id="team_name"/><br/>
<label for="year">Année de fondation</label> : <input type="text" name="year" id="year"/><br/>
<label for="coach">Entraineur</label> : <input type="text" name="coach" id="coach"/><br/>
<label for="titres">Titres</label> : <input type="text" name="titres" id="titres"/><br/>
<label for="logo">Logo,images/</label> : <input type="file" name="logo"/><br/>
<label for="stars">Stars</label> : <input type="text" name="stars" id="stars"/><br/>
Conférence : <label for="conf">Est</label> : <input type="radio" name="conf" value="est" id="est"/> <label for="conf">Ouest</label> : <input type="radio" name="conf" value="ouest" id="ouest"/><br/>
<label for="divi">Division</label> : <input type="text" name="divi" id="divi"/><br/>
<input type="submit" value="envoyer"/>
</form>
</fieldset>
</div>
<?php
try
{
if(isset($_FILES['logo']))
{
$nom_logo = $_FILES['logo']['name'];
if ($_FILES['logo']['error'] > 0)
{
echo "Erreur : ".$_FILES['logo']['error']."<br>";
}
else
{
$pdo_options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test','root','');
if (isset($_POST['year']) and isset($_POST['team_name']) and isset($_POST['coach']) and isset($_POST['titres']) and isset($_POST['logo']) and isset($_POST['stars']))
{
$req = $bdd->prepare('INSERT INTO equipes (nom,fondation,titres_nba,logo,joueurs_vedettes,conference,division,entraineur) VALUES (:nom, :fondation, :titres_nba, :logo, :joueurs_vedettes, :conference, :division, :entraineur)');
$req->execute(array('nom' => $_POST['team_name'],'fondation'=>$_POST['year'],'titres_nba'=>$_POST['titres'],'logo'=>$_POST['logo'],'joueurs_vedettes'=>$_POST['stars'],'conference'=>$_POST['conf'],'division'=>$_POST['divi'],'entraineur'=>$_POST['coach']));
}
move_uploaded_file($_FILES["logo"]["tmp_name"],"../images/" . basename($_FILES["logo"]["name"]));
}
}
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
</body>
</html>
Voila, je réalise une page web dont le but est d'ajouter des équipes dans une base de données, et je souhaite également permettre l'upload d'une image, afin d'avoir le logo de l'équipe pour une page fiche équipe qui sera générée à partir de cette table.
J'ai donc un problème qui est le suivant :
- Lorsque que j'appuie sur envoyer, le fichier est bien uploadé sur le serveur, mais la requête sql n'aboutie pas. (PHP n'affiche aucune erreur)
- Si j'enlève l'upload, la requête php fonctionne et une ligne est ajouter à la table !
Voici le code, n'hésitez pas à ma questionner si vous me trouvez pas clair.
Code :
<html>
<head>
<title> Ajouter équipe </title>
<link rel="icon" type="image/x-icon" href="/Icone.ico" />
<link rel="apple-touch-icon" href="/Icone.ico" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body style="width:1000px;margin:auto;">
<div>
<fieldset>
<legend> Nouvelle équipe </legend>
<form method="post" action="newTeam.php" enctype="multipart/form-data">
<label for="team_name">Nom de l'équipe</label> : <input type="text" name="team_name" id="team_name"/><br/>
<label for="year">Année de fondation</label> : <input type="text" name="year" id="year"/><br/>
<label for="coach">Entraineur</label> : <input type="text" name="coach" id="coach"/><br/>
<label for="titres">Titres</label> : <input type="text" name="titres" id="titres"/><br/>
<label for="logo">Logo,images/</label> : <input type="file" name="logo"/><br/>
<label for="stars">Stars</label> : <input type="text" name="stars" id="stars"/><br/>
Conférence : <label for="conf">Est</label> : <input type="radio" name="conf" value="est" id="est"/> <label for="conf">Ouest</label> : <input type="radio" name="conf" value="ouest" id="ouest"/><br/>
<label for="divi">Division</label> : <input type="text" name="divi" id="divi"/><br/>
<input type="submit" value="envoyer"/>
</form>
</fieldset>
</div>
<?php
try
{
if(isset($_FILES['logo']))
{
$nom_logo = $_FILES['logo']['name'];
if ($_FILES['logo']['error'] > 0)
{
echo "Erreur : ".$_FILES['logo']['error']."<br>";
}
else
{
$pdo_options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test','root','');
if (isset($_POST['year']) and isset($_POST['team_name']) and isset($_POST['coach']) and isset($_POST['titres']) and isset($_POST['logo']) and isset($_POST['stars']))
{
$req = $bdd->prepare('INSERT INTO equipes (nom,fondation,titres_nba,logo,joueurs_vedettes,conference,division,entraineur) VALUES (:nom, :fondation, :titres_nba, :logo, :joueurs_vedettes, :conference, :division, :entraineur)');
$req->execute(array('nom' => $_POST['team_name'],'fondation'=>$_POST['year'],'titres_nba'=>$_POST['titres'],'logo'=>$_POST['logo'],'joueurs_vedettes'=>$_POST['stars'],'conference'=>$_POST['conf'],'division'=>$_POST['divi'],'entraineur'=>$_POST['coach']));
}
move_uploaded_file($_FILES["logo"]["tmp_name"],"../images/" . basename($_FILES["logo"]["name"]));
}
}
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
</body>
</html>
A voir également:
- Problème lors de la requête.
- Erreur de requete facebook - Forum Facebook
- Requete sql pix - Forum PHP
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Loisirs / Divertissements
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Android
- Roxane cherche des informations pour écrire un rapport sur la diversité. avec un moteur de recherche généraliste, elle souhaite limiter les résultats de sa recherche aux pages de l’organisation internationale de la francophonie. quelle requête doit-elle taper dans le champ de recherche ? - Forum Réseaux sociaux
5 réponses
Pourquoi faire d'abord l'upload ; puis ensuite (si il n'y a pas d'erreur) l'enregistrer dans ta bdd !!
Chaque chose dans son ordre !! ;-)
Chaque chose dans son ordre !! ;-)
non pas du tout !!!
Tout d'abort upload ton fichier ; Ensuite, si tout est ok ;
enregistre le dans ta BDD ;
Tu voit ?
Tout d'abort upload ton fichier ; Ensuite, si tout est ok ;
enregistre le dans ta BDD ;
Tu voit ?
// l'upload du fichier
$error = False;
if(isset($_FILES['logo'])){
$nom_logo = $_FILES['logo']['name'];
if ($_FILES['logo']['error'] > 0){
echo "Erreur : ".$_FILES['logo']['error']."<br>";
$error=True;}
else{move_uploaded_file($_FILES["logo"]["tmp_name"],"../images/" . basename($_FILES["logo"]["name"]));}
// ensuite la BDD
// si il n'y a pas d'erreurs ; on sauvegarde.
if(!$error){
$pdo_options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test','root','');
if (isset($_POST['year']) and isset($_POST['team_name']) and isset($_POST['coach']) and isset($_POST['titres']) and isset($_POST['logo']) and isset($_POST['stars']))
{
$req = $bdd->prepare('INSERT INTO equipes (nom,fondation,titres_nba,logo,joueurs_vedettes,conference,division,entraineur) VALUES (:nom, :fondation, :titres_nba, :logo, :joueurs_vedettes, :conference, :division, :entraineur)');
$req->execute(array('nom' => $_POST['team_name'],'fondation'=>$_POST['year'],'titres_nba'=>$_POST['titres'],'logo'=>$_POST['logo'],'joueurs_vedettes'=>$_POST['stars'],'conference'=>$_POST['conf'],'division'=>$_POST['divi'],'entraineur'=>$_POST['coach']));
}
}
;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question