Petit problème pour récupérer directement les donées
Résolu/Fermé
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
-
19 juin 2016 à 17:49
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 23 juin 2016 à 13:00
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 23 juin 2016 à 13:00
A voir également:
- Petit problème pour récupérer directement les donées
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
2 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
19 juin 2016 à 20:18
19 juin 2016 à 20:18
Bonjour,
Peux tu expliquer exactement le souci rencontré ?
Quelle partie du code, selon toi, ne fonctionne pas ?
Peux tu expliquer exactement le souci rencontré ?
Quelle partie du code, selon toi, ne fonctionne pas ?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 21/06/2016 à 16:31
Modifié par jordane45 le 21/06/2016 à 16:31
Bonjour,
Déjà... il est préférable de mettre le code de connexion à ta BDD dans un fichier à part
que tu n'auras qu'à inclure dans tes pages (au lieu de le copier/coller 50 fois....)
Puis pour que PDO t'affiche les erreurs... il faut, lors de la connexion ajouter quelques options.
Modifie ta connexion à la bdd en t'inspirant de ce code :
Pense aussi à récupérer "proprement" les variables (via ISSET ou !EMPTY et l'écriture ternaire) AVANT de les utiliser
Et enfin.. pense à mettre des bloc TRY/CATCH sur tes requêtes pour t'assurer qu'elles se passent bien.
Ce qui donne dans ton code:
NB: Tu avais également un souci dans les TR / TD de ton tableau HTML ....
TR => LIGNE du tableau
TD => CELLULE de la ligne
Donc un Tableau contient des TR ... les TR contiennent des TD .... (c'est comme ça...)
Cordialement,
Jordane
Déjà... il est préférable de mettre le code de connexion à ta BDD dans un fichier à part
que tu n'auras qu'à inclure dans tes pages (au lieu de le copier/coller 50 fois....)
Puis pour que PDO t'affiche les erreurs... il faut, lors de la connexion ajouter quelques options.
Modifie ta connexion à la bdd en t'inspirant de ce code :
<?php //Fichier de connexion à la BDD : cnxBDD.php $host = 'localhost'; $user = 'root'; $pwd = ''; $dbname = 'site1'; $charset = ";charset=UTF8"; //si tu veux avoir de l'utf8 try{ $bdd= new PDO("mysql:host=".$host.";dbname=".$dbname.$charset.",".$user.",".$pwd); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?>
Pense aussi à récupérer "proprement" les variables (via ISSET ou !EMPTY et l'écriture ternaire) AVANT de les utiliser
Et enfin.. pense à mettre des bloc TRY/CATCH sur tes requêtes pour t'assurer qu'elles se passent bien.
Ce qui donne dans ton code:
<?php //Affichage des erreurs PHP error_reporting(E_ALL); //Demarrage des sessions session_start(); //connexion à la BDD (on inclus le fichier) require_once "cnxBDD.php"; //Récupération 'propre' des varialbes $legende = isset($_POST['legende']) ? $_POST['legende'] : ''; $s_msg = !empty($_SESSION['message']) ? $_SESSION['message'] : ''; $files = !empty($_FILES['fichier']) ? $_FILES['fichier'] : NULL; //traitement du formulaire if(isset($_POST['envoie'])) { $tmpName = $files['tmp_name']; $fileName = $files['name']; if(!move_uploaded_file($tmpName, 'upload/'.$fileName)){ echo "<br>Move error ! " . $tmpName . "-->".'upload/'.$fileName; }else{ $info = $fileName. " Importé avec avec succès"; } echo '<br /><font color="green">'.$info."</font><br /><a href=\"site4.php\">Retour<a/>"; $sql = "INSERT INTO photo(adresse, text) VALUES(:adresse, :text)"; $datas = array(':adresse'=>$fileName ,':text'=> $legende); try{ $insertmbr = $bdd->prepare($sql); $insertmbr->execute($datas); }catch(Exception $e){ echo "Erreur ! ".$e->getMessage(); } $info = "La photo et le commentaire a était inscrit au serveur ! <a href=\"/sites/site7.php\">Aller voir !<a/>"; }else{ $erreur = "La photo et le commentaire n'ont pas était envoyer !"; } ?> <html> <head> <title>TUTO PHP</title> <meta charset="utf-8"> </head> <body> <br /> <br /> <div align="center"> <form action="envoie.php" method="post" enctype="multipart/form-data"> <table> <tr> <td> <label for="fichier">Votre photo :</label> <p>La taille maximum de la photo doit être de 20 MO !</p> </td> <td> <input type="file" name="fichier" id="fichier" /><br /> </td> </tr> <tr> <td> <label for="legende">Commentaire sous la photo :</label><br /><br /> </td> <td> <textarea name="legende" id="legende" rows="10" cols="40">Saisir un texte ici.</textarea> </td> </tr> <tr> <td> <input type="submit" name="envoie" value="Envoyer le fichier" /> </td> </tr> </table> </form> </div> </body> </html>
NB: Tu avais également un souci dans les TR / TD de ton tableau HTML ....
TR => LIGNE du tableau
TD => CELLULE de la ligne
Donc un Tableau contient des TR ... les TR contiennent des TD .... (c'est comme ça...)
Cordialement,
Jordane
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
23 juin 2016 à 10:26
23 juin 2016 à 10:26
Bonjour, merci encore pour votre aide.
Et merci pour la petite précision du TD et TR, moi qui avais un problème de CSS sa devrait m'aider.
Donc après avoir essayer votre code j'ai un code erreur.
Erreur : SQLSTATE[HY000] [2019] Unknown character set
On dirait que ça vient du
Et merci pour la petite précision du TD et TR, moi qui avais un problème de CSS sa devrait m'aider.
Donc après avoir essayer votre code j'ai un code erreur.
Erreur : SQLSTATE[HY000] [2019] Unknown character set
On dirait que ça vient du
$charset = ";charset=UTF8";
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
23 juin 2016 à 10:29
23 juin 2016 à 10:29
Je dirait même plus avec cette méthode je peu pas accéder a la base de donnée.
Erreur : SQLSTATE[HY000] [1045] Acc�s refus� pour l'utilisateur: ''@'@localhost' (mot de passe: NON)
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
23 juin 2016 à 10:33
23 juin 2016 à 10:33
J'ai corriger le problème je sais pas si sais bien ce que j'ai fait.
Voila mon code de "cnxBDD.php"
Voila mon code de "cnxBDD.php"
<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=site1;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
?>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
Modifié par jordane45 le 23/06/2016 à 10:45
Modifié par jordane45 le 23/06/2016 à 10:45
Si si c'est bon normalement.
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
23 juin 2016 à 13:00
23 juin 2016 à 13:00
Oui super merci a vous Jordane :)
Bon j'ai encore pas mal de chose a faire mais a force de chercher je vais trouvé :)
Bon j'ai encore pas mal de chose a faire mais a force de chercher je vais trouvé :)
20 juin 2016 à 20:48
Donc le code fonctionne mais je voudrais que cela sois plus simple.
J'aimerai sur la page que sur la page pour sélectionner la photo et l'envoyer au serveur stocké dans le dossier "upload".
Après j'aimerai que cela sois traité en récupérant la valeur de la cible de la photo et laisser un message qui me dit que sais bon que cela sais bien effectuer.
Je vais travailler la dessus.
Merci d'avance.
20 juin 2016 à 22:05
Si quelqu’un peu m'aider ,....