Code
Résolu/Fermé
Decodeur01
Messages postés
4
Date d'inscription
jeudi 13 août 2015
Statut
Membre
Dernière intervention
16 août 2015
-
Modifié par pijaku le 13/08/2015 à 12:00
Decodeur01 Messages postés 4 Date d'inscription jeudi 13 août 2015 Statut Membre Dernière intervention 16 août 2015 - 16 août 2015 à 05:40
Decodeur01 Messages postés 4 Date d'inscription jeudi 13 août 2015 Statut Membre Dernière intervention 16 août 2015 - 16 août 2015 à 05:40
A voir également:
- Code
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
5 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
13 août 2015 à 11:59
13 août 2015 à 11:59
Salut,
Comme tu as pu le voir dans le traitement de ton formulaire, un input type="file" se récupère en PHP via la superglobale $_FILES et non via $_POST.
Donc ta première condition
Bonne journée
Comme tu as pu le voir dans le traitement de ton formulaire, un input type="file" se récupère en PHP via la superglobale $_FILES et non via $_POST.
Donc ta première condition
if (isset($_POST['nom']) and isset($_POST['email']) and isset($_POST['photo']))n'est jamais vrai puisque $_POST['photo'] n'est pas définie.
Bonne journée
Decodeur01
Messages postés
4
Date d'inscription
jeudi 13 août 2015
Statut
Membre
Dernière intervention
16 août 2015
Modifié par jordane45 le 14/08/2015 à 01:48
Modifié par jordane45 le 14/08/2015 à 01:48
Merci Pitet pour ta réaction, c'est la première fois que j'interviens dans un forum et je suis très touché. en fait, après la modification je reçois les mêmes messages d'erreur:
( ! ) Notice: Undefined variable: nom in C:\wamp\www\GestionEtudiants\ajoutEtudiant.php on line 23
pareil pour l'émail. je ne sais comment définir ces variables.
voici les codes respectifs modifiés de ajoutEtudiant.html et ajoutEtudiant.php .
ajoutEtudiant.php
merci encore pour la promptitude de vos réactions.
EDIT : Ajout des balises de code
( ! ) Notice: Undefined variable: nom in C:\wamp\www\GestionEtudiants\ajoutEtudiant.php on line 23
pareil pour l'émail. je ne sais comment définir ces variables.
voici les codes respectifs modifiés de ajoutEtudiant.html et ajoutEtudiant.php .
<! DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="style. css" /> <title>SCOLARITE</title> </head> <body> <form method="POST" action="ajoutEtudiant.php" enctype="multipart/form-data"> <table> <tr> <td>Nom</td> <td><input type="text" name="nom"></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email"></td> </tr> <tr> <td>Photo</td> <td><input type="file" name="photo"></td> </tr> <tr> <td></td> <td><input type="submit" value="Enregistrer"></td> </tr> </table> </form> </body> </html>
ajoutEtudiant.php
<?php require_once("connexion.php"); if (isset($_POST['nom']) and isset($_POST['email']) and isset($_FILLE['photo'])) { $nom=$_POST['nom']; $email=$_POST['email']; $nomPhoto=$_FILES['photo']['name']; $file_tmp_name=$_FILES['photo']['tmp_name']; move_uploaded_file($file_tmp_name,"./images/$nomPhoto"); $req = $bdd->query("insert into ETUDIANT(NOM, EMAIL, PHOTO) values('$nom','$email','$nomPhoto')"); header("location:afficherEtudiant.php"); } ?> <! DOCTYPE html> <html> <body> <table border="1" width='30%'> <tr> <td>Nom</td> <td><?php echo($nom)?></td> </tr> <tr> <td>Email</td> <td><?php echo($email)?></td> </tr> <tr> <td>Photo</td> <td><img src="./images/<?php echo'($nomPhoto)'?>" /></td> </tr> </table> <a href="afficherEtudiant.php">Afficher les etudiantss</a> </body> </html>
merci encore pour la promptitude de vos réactions.
EDIT : Ajout des balises de code
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
14 août 2015 à 01:59
14 août 2015 à 01:59
Bonjour,
Essayes ça :
Essayes ça :
<?php /* Page : ajoutEtudiant.php */ require_once("connexion.php"); // Récupération "propre" des variables : $nom=!empty($_POST['nom'])?$_POST['nom']:NULL; $email=!empty($_POST['email'])?$_POST['email']:NULL; $nomPhoto=!empty($_FILES['photo']['name'])?$_FILES['photo']['name']:NULL; //Traitement du submit if($nom && $email && $nomPhoto) { $file_tmp_name=$_FILES['photo']['tmp_name']; if(!move_uploaded_file($file_tmp_name,"./images/$nomPhoto")){ echo "<br>Erreur lors du téléchargement de l'image" ; $req = $bdd->query("insert into ETUDIANT(NOM, EMAIL, PHOTO) values('$nom','$email','$nomPhoto')"); } } else { // Un ou plusieurs champs sont manquants.... //le temps des tests si ça ne fonctionne toujours pas: echo "<pre>POST : <br> "; print_r($_POST); echo "<br> FILES :<br>"; print_r($_FILES); echo "</pre>"; } ?> <! DOCTYPE html> <html> <body> <table border="1" width='30%'> <tr> <td>Nom</td> <td><?php echo $nom;?></td> </tr> <tr> <td>Email</td> <td><?php echo $email ;?></td> </tr> <tr> <td>Photo</td> <td><img src="./images/<?php echo $nomPhoto;?>" /></td> </tr> </table> <a href="afficherEtudiant.php">Afficher les etudiantss</a> </body> </html>
Decodeur01
Messages postés
4
Date d'inscription
jeudi 13 août 2015
Statut
Membre
Dernière intervention
16 août 2015
Modifié par jordane45 le 14/08/2015 à 16:06
Modifié par jordane45 le 14/08/2015 à 16:06
MERCI !!!
il n y a plus d'affichage d'erreurs mais la photo ne s'affiche pas ds ajout.php et les données inserées à partir de ajoutEtudiant.html ne partent pas ds la bd donc impossible de les récupérer pour les afficher dans afficherEtudiant.php dont voici le code:
je cherche une solution depuis des heures et je continu à chercher mais si vous pouvez m'aider... ça m'aiderait beaucoup à avancer.
merci.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
il n y a plus d'affichage d'erreurs mais la photo ne s'affiche pas ds ajout.php et les données inserées à partir de ajoutEtudiant.html ne partent pas ds la bd donc impossible de les récupérer pour les afficher dans afficherEtudiant.php dont voici le code:
<! DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="style. css" /> <title>SCOLARITE</title> </head> <body> <table border="1" width="80%"> <tr> <th>CODE</th><th>NOM</th><th>PHOTO</th> <th>SUPPRESSION</th><th>EDITION</th> </tr> <?php // On affiche chaque entrée une à une while ($donnees = $req->fetch()) { ?> <tr> <td><?php echo($donnees['CODE'])?></td> <td><?php echo($donnees['NOM'])?></td> <td><img src="images/<?php echo($donnees['PHOTO'])?>"></td> <td><a href="supprimerEtudiant.php?code=<?php echo($donnees['CODE'])?>">Supprimer</a></td> <td><a href="editEtudiant.php?code=<?php echo($donnees['CODE'])?>">Editer</a></td> </tr> <?php } ?> </table> </body> </html>
je cherche une solution depuis des heures et je continu à chercher mais si vous pouvez m'aider... ça m'aiderait beaucoup à avancer.
merci.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
14 août 2015 à 16:14
14 août 2015 à 16:14
1 - **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Je ne vois pas, dans ta page, l'include du fichier de connexion à la BDD
3 - Je ne vois pas, dans ton code.. la requête $req
4 - Quand tu dis :
il y a une erreur dans le code que je t'ai donné
il faut modifier cette partie du code :
par :
nb: Comme tu peux le voir, je suis passé par des requêtes préparées...
c'est plus sûr ... cela permet, entre autres choses.. d'éviter les failles de sécurité liées aux injections sql...
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Je ne vois pas, dans ta page, l'include du fichier de connexion à la BDD
3 - Je ne vois pas, dans ton code.. la requête $req
4 - Quand tu dis :
les données inserées à partir de ajoutEtudiant.html ne partent pas ds la bd
il y a une erreur dans le code que je t'ai donné
il faut modifier cette partie du code :
$file_tmp_name=$_FILES['photo']['tmp_name']; if(!move_uploaded_file($file_tmp_name,"./images/$nomPhoto")){ echo "<br>Erreur lors du téléchargement de l'image" ; $req = $bdd->query("insert into ETUDIANT(NOM, EMAIL, PHOTO) values('$nom','$email','$nomPhoto')"); }
par :
$file_tmp_name=$_FILES['photo']['tmp_name']; if(!move_uploaded_file($file_tmp_name,"./images/$nomPhoto")){ echo "<br>Erreur lors du téléchargement de l'image" ; }else{ $sql ="insert into ETUDIANT(NOM, EMAIL, PHOTO) values(:nom,:email,:nomPhoto)"; $params = array(":nom"=>$nom,":email"=>$email,":nomPhoto"=>$nomPhoto try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); }catch(Exception $e){ //en cas d'erreur... echo "<br>Erreur !". $e->getmessage(); } }
nb: Comme tu peux le voir, je suis passé par des requêtes préparées...
c'est plus sûr ... cela permet, entre autres choses.. d'éviter les failles de sécurité liées aux injections sql...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Decodeur01
Messages postés
4
Date d'inscription
jeudi 13 août 2015
Statut
Membre
Dernière intervention
16 août 2015
16 août 2015 à 05:40
16 août 2015 à 05:40
ça marche comme je veux , merci encore pour votre assistance.
trop cool ce forum...
trop cool ce forum...
14 août 2015 à 01:46
Tu fais erreur.... il a, dans son formulaire, des champs INPUT (nom,email....) qui eux.. sont transmits en POST.
Seul le fichier ( dont le nom est :"photo" est passé par $_FILES )