PatriciaBL
Messages postés3Date d'inscriptionmardi 3 novembre 2015StatutMembreDernière intervention 3 novembre 2015
-
3 nov. 2015 à 18:54
PatriciaBL
Messages postés3Date d'inscriptionmardi 3 novembre 2015StatutMembreDernière intervention 3 novembre 2015
-
3 nov. 2015 à 19:41
Bonjour!
J'aimerais qu'une page sur mon site web montre tous les résultats correspondant à un "id_slogan" qui a été généré aléatoirement sur une première page. Donc sur la première page, une information de la base de données "liste_slogans" apparaît, sélectionnée au hasard. Sur la deuxième, l'info que l'utilisateur a entrée dans le formulaire de la première est traitée, puis l'utilisateur est renvoyé à la page finale, où toutes les entrées liées à la première information apparaissent. Sur toutes les pages, j'ouvre la session ; je la ferme à la fin complètement. Voilà donc tout le code :
La page d'accueil et de formulaire :
<?php // Start the session session_start(); ?>
<!DOCTYPE html> <html> <head> <meta charset=utf-8/> <link rel="stylesheet" href="Pubweb1.css"/> <title>(re)trouver le sens</title> <!--[if It IE9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html15.js"></script> <![endif]--> </head>
<!-- Affichage aléatoire d'une donnée de la table et enregistrement des infos ID, slogan et compagnie --> <section> <?php $bdd=new PDO('mysql:host=localhost;dbname=slogans', 'root', 'root', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $reponse = $bdd->query('SELECT ID, slogan, compagnie FROM liste_slogans ORDER BY rand() LIMIT 1,1'); header("Content-type: text/html;charset=UTF-8");
while ($donnees = $reponse->fetch()) { echo '<p class="apparition1" element style="color:aqua">' . ($donnees['slogan']) . ' <element style="color:transparent">' . ($donnees['ID']) . '' . ($donnees['compagnie']) . '</element style></p>'; $_SESSION['id_slogan']=$donnees['ID']; $_SESSION['compagnie']=$donnees['compagnie']; $_SESSION['slogan']=$donnees['slogan']; } $nbid = $_SESSION['id_slogan']; ?> <h2 class=apparition1>(À vous de jouer...)</h2> <!-- Il faut que le slogan qui apparaît ait une entrée au moins --> </section>
<section> <br/><h6>Entrez votre question, votre idée, votre doute.<br/> Remettez en question l'énoncé publicitaire présenté.<br/> Gardez en tête ce que les mots signifient vraiment pour vous, et exprimez-le si vous le jugez pertinent.<br/> Pas inspiré(e)? Cliquez sur "Sélection aléatoire" dans le menu ci-haut.</h6> <form action='redirection.php' method='POST'> <p><input type="text" name="entree" id="entree" size="75" maxlenght="300" autofocus /> <label for='pseudo'><h6>Votre signature : </h6></label><input type="text" name="pseudo" id="pseudo" size="75" maxlenght="30" /><br/> <input type='hidden' name="id_slogan" id="id_slogan" size="40" maxlenght="4" value="<?php echo $_SESSION['id_slogan'];?>" /> <input type='hidden' name="compagnie" id="compagnie" size="40" maxlenght="4" value="<?php echo $_SESSION['compagnie'];?>" /><br/><br/> <input class="envoiemail" name="submit" type="submit" value="Soumettre"></p> </form>
<?php // Connexion à la base de données try { $bdd=new PDO('mysql:host=localhost;dbname=slogans;charset=utf8', 'root', 'root'); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); }
<section> <?php // Connexion à la base de données try { $bdd=new PDO('mysql:host=localhost;dbname=slogans;charset=utf8', 'root', 'root'); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); }
// Récupération des derniers messages $reponse=$bdd->query('SELECT pseudo, entree, id_slogan FROM entrees WHERE id_slogan = $nbid ORDER BY ID DESC LIMIT 0, 50'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchrs) while ($donnees=$reponse->fetch()) { echo '<h4 class=resultats><strong>' . htmlspecialchars($donnees['entree']) . ' </strong></h4> <p class=resultats> ' . htmlspecialchars($donnees['pseudo']) . '</p>'; } $reponse->closeCursor(); ?>
<?php session_destroy(); ?> </section>
</body> </div> </div> </html
Est-ce que quelqu'un peut m'aider avec la formulation de ma requête sur la dernière page? Je pense que le problème est vraiment là. Je veux que le "id_slogan" des infos sélectionnées dans ma requête, dans la base "entrees", correspondent au "id_slogan" récupéré dans la $_SESSION['id_slogan'] qui est en faite l'ID de ma requête sur la première page, dans la base "listes_slogans".
Je vous serais vraiment reconnaissante de m'aider, ça fait plusieurs mois que je planche là-dessus, et ça doit être prêt pour la remise de mon projet qui est dans moins d'un mois!
3 nov. 2015 à 19:41