Amélioration de mon code pour commenter mes images [Résolu]

Signaler
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
-
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
-
bonjour a tous

comme vous le savez tous je suis occupé a construire un site sur la pêche
qui est ma passion et j avoue que je en suis pas fort doué pour coder
on peux pas etre fort dans tout

mais j apprends de fil en aiguille

cette fois ci je m attaque a la gestion des commentaires

pour l instant cela se présente de cette façon

je dois en premier lieu choisir une photo dans une galerie avec un checkbox et ensuite valider mon choix
et cela me dirige vers une autre page ou je peux modifier ou ajouter mon commentaire
cela fonctionne

mais j aurais préféré que quand un utilisateur clic sur la photo qu il puisse être redirige vers la page des commentaire

je ne sais pas si cela est faisable de manière simple sans ajax ...

voici le code qui pour l instant fonctionne

au passage je vois que je n ai pas rendu propre les variables mais je le fais de suite

<form method="post" action="commenter-image.php?pseudo=<?php echo $pseudo;?>&id=<?php echo $id;?>">
<?php
include('base.php');
//$req=$bdd->prepare('SELECT * FROM galerie_images WHERE pseudo=? AND id_img=?');
//$req->execute(array($pseudo, $id ));
//while($dones=$req->fetch()){
//$nom_img = $dones['nom_img'];
//préparation de la requête et des variables
$sql = "SELECT * FROM galerie_images WHERE pseudo=? AND id_img=?";
$datas = array($pseudo,$id);
//Execution de la requete
try{
$requete = $bdd -> prepare($sql) ;
$requete->execute($datas) ;
}catch(Exception $e){
// en cas d'erreur :
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($datas);
}
while($dones=$requete->fetch()){
$nom_img = $dones['nom_img'];
$nom_img  = !empty($nom_img ) ? $nom_img  : NULL;
?>
<input type="radio" name="images" id="<?php echo $nom_img;?>" value="<?php echo $nom_img;?>" /> <label for="<?php echo $nom_img;?>" ><img src="uploads/<?php echo $nom_img;?>"class="img-fluid" alt="Responsive image" /> </label> 
<?php 
}
?> 
<div class="form-group">
<br />
<input type="submit" name="submit" value="Je choisis cette image" />
</div>
</form>

6 réponses

Messages postés
32934
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 juin 2021
3 553
Bonjour,

Ben tu fais un lien tout simplement

Un truc du genre :
while($dones=$requete->fetch()){
$nom_img = $dones['nom_img'];
$nom_img  = !empty($nom_img ) ? $nom_img  : NULL;
?>
<a href="commenter-image.php?pseudo=<?php echo $pseudo;?>&id=<?php echo $id;?>&image=<?php echo $nom_img;?>"/>
    <label for="<?php echo $nom_img;?>" >
     <img src="uploads/<?php echo $nom_img;?>" class="img-fluid" alt="Responsive image" /> 
   </label> 
</a>
<?php 
}


par contre, à la place d'utiliser le "nom de l'image", je serais toi.. je mettrait son id ...




.
Cordialement,
Jordane
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
138
merci jordane pour le code
mais cela ne fonctionne pas
après modification je me retrouve avec une page plage ...
aucune erreur dans réponse ou requête
et les erreurs PDO sont activées
Messages postés
32934
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 juin 2021
3 553
Si tu as une page blanche c'est que tu as très certainement une erreur dans le code...
Vérifie qu'il ne manque pas de points virgules, ou des parenthèses ou des guillemets .. ou des accolades...

Et si, après avoir cherché, tu ne trouves pas le souci, montre-nous le code complet de la page.
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
138
merci jordane
voila cela fonctionne
sauf que quand j arrive sur la page des commentaires l image ne veux pas s afficher

j ai ce message
Notice: Undefined variable: nom_img in /storage/ssd4/760/16000760/public_html/nosignal/journee-peche/commenter-image.php on line 68

donc j ai un soucis avec la variable de l image

je poste le code de la page commentaire

je pense avoir tout bien fait avec les requêtes les variables ect..
si tu savais y jeter un oeil ...

je ne comprends pas ce message ....
peut être que l image n est pas embarquée du fichier précèdent

j ai laisse en commentaire l ancien code

<?php 
session_start();
//if(isset($_GET['pseudo'], $_GET['id'] )){
//$pseudo = $_GET['pseudo'];
//$id = $_GET['id'];
//}else
//{
//header('Location:../login-obligatoire-peche-perle.php');
//die();}
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;
if(!$id || !$pseudo  ){
  header('Location:../login-obligatoire-peche-perle.php');
  exit;
}
include('base.php');
?>
<!doctype html>
<html lang="en">
<head>
<?php include("include/head.php"); ?>
<link rel="stylesheet" type="text/css" href="./css/magazine.css">
</head>
<!-- fin head -->
<!-- debut body -->
<body>
<!-- debut container total-->
<div class="container">
<title>phil le perleur</title>
<!-- debut container entete-->
<div class="container" style=" max-width: 100%;margin:auto;">
<!-- debut banniere -->
<?php include("include/baniere-peche-perle.php"); ?>
<!-- fin banniere -->
<!-- debut menu -->
<?php include("include/menu.php"); ?>
<!-- fin menu -->
<!-- fin container entete-->
<!-- debut body -->
<body>
<div class="container" style=" max-width: 100%;margin: auto;padding-left: 0px;padding-right: 0px;">
<div class="col-sm-12 text-center"style=" padding-left: 0px;padding-right: 0px;">
<div id="intro">
<?php
//if(isset($_POST['submit']) AND !empty($_POST['images']))

$submit= !empty($_GET['$submit']) ? $_GET['$submit']: NULL;
$images= !empty($_GET['$images']) ? $_GET['$images']: NULL;

{
	$nom_img= !empty($_GET['$nom_img']) ? $_GET['$nom_img']: NULL;
//$nom_img = $_POST['images'];
echo 'vous avez choisi cette image:  ';
?>
<img src="uploads/<?php echo $nom_img;?>" alt="" height="80"  />
<?php
}
//préparation de la requête et des variables
$sql = "SELECT contenu FROM galerie_images WHERE pseudo = :pseudo AND nom_img = :nom_img";
$datas = array('pseudo' => $pseudo,	'nom_img' => $nom_img		);
//Execution de la requete
try{
$requete = $bdd -> prepare($sql) ;
$requete->execute($datas) ;
}catch(Exception $e){
// en cas d'erreur :
echo " Erreur ! ".$e->getMessage();
echo " Les datas : " ;
print_r($datas);
}
//$req2 = $bdd->prepare('SELECT contenu FROM galerie_images WHERE pseudo = :pseudo AND nom_img = :nom_img');
//$req2->execute(array( 	'pseudo' => $pseudo,	'nom_img' => $nom_img		));
$dones = $requete->fetch();
$contenu = $dones['contenu']; 
?>
</div>
<div id="modifier">
<p>Vous pouvez ajouter un commentaire sur cette image. <br />
<span style="font-size:16px;">  Vous pouvez aussi modifier un commentaire, s'il apparaît ci-dessous</span>		 </p>
<form method="post" action="commenter-fin.php?pseudo=<?php echo $pseudo;?>&id=<?php echo $id;?>&nom_img=<?php echo $nom_img;?>" >
<p> 
<div class="container"style=" max-width: 100%;margin: auto;padding-left: 0px;padding-right: 0px;">
<div class="row">
<div class="col-12"style=" padding-left: 0px;padding-right: 0px;">
<textarea name="modification" id="modification" class="form-control form-control-lg mb-3" rows="3" style="padding-left: 0px;padding-right: 0px;"></textarea><br />
</div>
</div>
</div>
<input type="submit" name="submit" value="modifier commentaire" />
</p></form >
<center> <a href="detail.php?pseudo=<?php echo $pseudo;?>&id=<?php echo $id;?>"><span style="font-size:24px; text-align:center;">  Retour sur votre page </span>   </a> </center>
</div>  
</div>  
</div>
<!-- debut pied de page-->
<?php include("include/pied-de-page.php"); ?>
</div>
</div>
<?php include("include/footer.php"); ?>
</body>
<!-- fin du body-->
</html>
Messages postés
32934
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 juin 2021
3 553
Déjà... tu as encore un souci sur ta récupération de variables ....
Tu as mis des $ en trop
$submit= !empty($_GET['$submit']) ? $_GET['$submit']: NULL;
$images= !empty($_GET['$images']) ? $_GET['$images']: NULL;


En plus.. pourquoi mettre du $_GET ... alors que ton formulaire est en POST ??!
<form method="post"


Donc : A corriger par

$submit= !empty($_GET['submit']) ? $_GET['submit']: NULL;
$images= !empty($_GET['images']) ? $_GET['images']: NULL;



Ensuite, tu veux récupérer l'image envoyées dans l'url ...
Tu as donc écrit
	$nom_img= !empty($_GET['$nom_img']) ? $_GET['$nom_img']: NULL;

C'est presque bon .. sauf que.. là aussi tu as des $ en trop ... et que le nom de la variable envoyée dans l'url n'est pas "nom_image" ...


Rassure moi ... tu sais :
- comment fonctionne le passage de variable dans l'url ?
- la différence entre $_POST et $_GET ?

Et .. tu sais te relire ou tu viens juste nous demander au moindre souci de corriger le code à ta place ?? ( ce qui n'est pas le but de ce forum... )

par ce que.. je veux bien te venir en aide... mais là.. il faut vraiment que tu commences à apprendre... le b.a-ba du langage.. sinon on ne va jamais s'en sortir et on va encore passer 200 messages pour résoudre un truc qui devrait se faire en 5 minutes..
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
138
merci Jordane
mais bon sang ou avais je encore la tête
ce genre de faute je te l accorde c est inadmissible

je pense que j ai voulu aller trop vite

tu aurais du me laisser chercher ...surtout pour ce genre d erreur


car c est vrai que j ai pas pris le temps de me relire
j en suis désolé


pour le passage d une variable dans une autre page cela se fait avec GET
a travers l url
comme tu le fais
avec le pseudo , l id et l image

et ensuite on les récupères avec GET

par exemple
 <p>Bonjour <?php echo $_GET['id']; ?> !</p> 
 <?php    echo $id;
    ?> 


mais j ai un soucis lorsque je veux récupérer l image
 image=<?php echo $nom_img;

j ai le nom de l image mais pas la photo

comment je pourrais afficher la photo
sur l autre page
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
138
c est bon
je pense avoir trouve enfin
je récupère la variable



$nom_img = !empty($_GET['images']) ? $_GET['images']: NULL;


ensuite je l affiche de cette maniere

<?php
echo 'vous avez choisi cette image:  ';
?>
<img src="uploads/<?php echo $nom_img;?>" alt="" height="80"  />
Messages postés
2901
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
9 juin 2021
138
faut vraiment que je fasse gaffe avec GET et POST