Problème lors de la requête.
Résolu
UbuntuPR
Messages postés
89
Date d'inscription
Statut
Membre
Dernière intervention
-
UbuntuPR Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
UbuntuPR Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
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.
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- 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
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
- Erreur de requete facebook - Forum Facebook
- Requete sql pix - Forum PHP
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