[RESOLU] Problème de chargement de ma page

Eléphanteau du PHP | 10 Messages

19 juin 2016, 15:40

Bonjour à toutes et à tous,
Je suis en train de réaliser un site qui contient une base de données.
Par ex., en backoffice, j'ai un code qui me permet de lister le nom et informations de toutes les écoles référencées.
J'ai la possibilité de faire une modification ou suppression.
Mon problème est que lorsque je souhaite modifier, je clique sur le bouton "modifier". J'accède à la page de modification (cf code 2) mais les informations de l'école ne se charge pas, je ne sais comment y parvenir.
Voici mon code:

1.Page à partir de laquelle j'affiche les éléments d'une école et que je souhaiterais, par ex., modifier.

Code : Tout sélectionner

<table cellspacing="2" cellpadding="5"> <td id="entete">Id</td> <td id="entete">Filière</td> <td id="entete">Nom école</td> <td id="entete">Logo</td> <td id="entete">Modifier</td> <td id="entete">Supprimer</td> <?php while($annuaire=$requete2->fetch()){ ?> <tr> <td id="body"><?php echo $annuaire['id']; ?></td> <td id="body"><?php echo $annuaire['filiere']; ?></td> <td id="body"><?php echo $annuaire['nomEcole']; ?></td> <td id="body"><img src="../../webElements/logos/<?php echo $annuaire['logo']; ?>"></td> <td id="body"><a href="PDOecolesModif.php?id=<?php echo $annuaire['id']; ?>" style="color:#008D9D;text-decoration: none;">MODIFIER</a></td> <td id="body"><a href="PDOgestionTableEcoles.php?id=<?php echo $annuaire['id']; ?>&supp=ok" style="color:#008D9D;text-decoration: none;" onClick="return supprimer()">SUPPRIMER</a></td> </tr> <?php } ?> </table>
J'ai essayé d'ajouter le bout de code suivant en page 1 mais ça n'a pas fonctionné.


2.Page "modifier l'école"

Code : Tout sélectionner

<?php if(isset($_POST['bouton'])){ //on récupère les post $id=$_POST['id']; $filiere = $_POST['filiere']; $categorie = $_POST['categorie']; $nomEcole = $_POST['nomEcole']; $region = $_POST['region']; $departement = $_POST['departement']; $statut = $_POST['statut']; $lienInternet = $_POST['lienInternet']; $lienEcole = $_POST['lienEcole']; $logo = $_FILES['logo']['name']; $nivID = $_POST['nivID']; if($_FILES['logo']['error']==0){ move_uploaded_file($_FILES['logo']['tmp_name'], '../../webElements/logos/'.$_FILES['logo']['name']); } if($_FILES['logo']['error']==0){ $requete=$b2d->prepare("UPDATE ecoles SET filiere=:filiere, categorie=:categorie,nomEcole=:nomEcole,region=:region,departement=:departement, statut=:statut,lienInternet=:lienInternet,lienEcole=:lienEcole,logo=:logo,nivID=:nivID WHERE id=:id"); $requete->execute(array( ':filiere'=>$filiere, ':categorie'=>$categorie, ':nomEcole'=>$nomEcole, ':region'=>$region, ':departement'=>$departement, ':statut'=>$statut, ':lienInternet'=>$lienInternet, ':lienEcole'=>$lienEcole, ':logo'=>$logo, ':nivID'=>$nivID, ':id'=>$id)); }else{ $requete=$b2d->prepare("UPDATE ecoles SET filiere=:filiere, categorie=:categorie,nomEcole=:nomEcole,region=:region,departement=:departement, statut=:statut,lienInternet=:lienInternet,lienEcole=:lienEcole,nivID=:nivID WHERE id=:id"); $requete->execute(array( ':filiere'=>$filiere, ':categorie'=>$categorie, ':nomEcole'=>$nomEcole, ':region'=>$region, ':departement'=>$departement, ':statut'=>$statut, ':lienInternet'=>$lienInternet, ':lienEcole'=>$lienEcole, ':nivID'=>$nivID, ':id'=>$id)); } header("Location:PDOgestionTableEcoles.php"); } //---menu $requete4=$b2d->query("SELECT id_filiere, nom_filiere FROM filiere"); $requete3=$b2d->query("SELECT id_typeForm, nom_form FROM type_formation"); $requete2=$b2d->query("SELECT id_region,nom_region FROM region"); $requete1=$b2d->query("SELECT id_niv,niveau FROM nivetudes"); //---requête fiche modif $req=$b2d->prepare("SELECT * FROM ecoles where id=:id"); $req->execute(array(':id'=>$_GET['id'])); $annuaire=$req->fetch(PDO::FETCH_ASSOC); ?>
Pourriez-vous me donner une piste de réflexion que je puisse compléter mon code et faire le lien entre les 2 pages?
Vous en remerciant par avance.
Cordialement
Emasol

Mammouth du PHP | 2703 Messages

19 juin 2016, 15:48

<td id="body"><a href="PDOecolesModif.php?id=<?php echo $annuaire['id']; ?>" style="color:#008D9D;text-decoration: none;">MODIFIER</a></td>
il faut donc que la page PDOecolesModif.php appelée en méthode get affiche un formulaire permettant de modifier une école, nous n'avons pas ce code.

if(isset($_POST['bouton'])){
la page PDOecolesModif.php doit donc comporter un formulaire pointant vers PDOecolesModif.php en méthode post avec un élément de formulaire nommé bouton pour que la mise à jour soit effectuée dans la base de données.

Eléphanteau du PHP | 10 Messages

19 juin 2016, 20:11

Mammouth,
Merci Mammouth pour ces indications.
J'ai fait plusieurs tests, la page ne se charge toujours pas. Je n'ai sûrement pas mis le code au bon endroit.
J'ai déjà un post dans PDOecolesModif.php mais qui pointe sur PDOgestionTableEcoles.php; je dois laisser cette partie.
Je ne vois pas où insérer ce code dans la page. Au niveau de requête fiche modif?
Cordialement
Emasol

Eléphanteau du PHP | 10 Messages

19 juin 2016, 20:58

En fait l'erreur venait d'un espace manquant à la 1ère ligne du post $id=$_POST['id'];
J'ai modifié $id= $_POST['id']; et depuis cela fonctionne.
A bientôt
Cordialement