Voir les élément de la base de donnée affichés par une page différentes
dproduction
Messages postés
39
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
bonjour les amis. mon problème est le suivant. j'ai créer une page pour afficher les données via un formulaire par l’intermédiaire d'une bdd. Ça fonction bien.. le problème est que: dès que j'ai accès a cette pas via une autre page différentes, les donnes ne s'affichent pas.
voici le code
page une
page deux
page trois
voici le code
page une
<form action ="afficahge.php" method='POST' enctype="multipart/form-data">
<p class="titre d'emploie">
<input name="emploie" type="text" class="feedback-input" required placeholder="titre d'emploi" id="emploie" enctype="multipart/form-data" />
</p>
<p class="contenu ">
<textarea name="contenu" class="feedback-input" id="contenu" placeholder="contenu" ></textarea>
</p>
<div class="submit">
<button type="submit" name="envoieoffreemploie" class="button-blue">ENVOYER</button>
<div class="ease"></div>
</div>
</form>
<br/>
page deux
<?php
include"includes/connect_db local.php";
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if(isset($_POST["envoieoffreemploie"] ))
{
$emploie = htmlspecialchars($_POST['emploie']);
$contenu = htmlspecialchars($_POST['contenu']);
$req = $db->prepare('INSERT INTO offreemploi(titre, contenu) VALUES(?, ?)');
$req->execute(array($emploie, $contenu));
// $sql = "SELECT titre, contenu FROM offreemploi WHERE titre = ? AND contenu = ?";
$req = $db->prepare('SELECT titre, contenu FROM offreemploi WHERE titre = ? AND contenu <= ?');
$req->execute(array($_POST['emploie'], $_POST['contenu']));
//echo '<ul>';
while ($donnees = $req->fetch())
{
echo '<li>' . $donnees['titre'] . ' (' . $donnees['contenu'] . ' EUR)</li>';
}
$reponse = $db->query('SELECT titre, contenu FROM offreemploi ORDER BY ID DESC LIMIT 0, 30');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['titre']) . '</strong> : ' . htmlspecialchars($donnees['contenu']) . '</p>';
}
$reponse->closeCursor();
//echo '</ul>';
//$req->closeCursor();
// echo "<table border='1'>";
// echo "<center><strong> $emploie </strong></center><br /><p/>";
// echo "<center><tr><td>$contenu </td></tr>\n</center>";
}
?>
page trois
<a href="afficahge.php"> vérification <a/>
1 réponse
-
Bonjour,
Je suppose que tu essais, depuis ta page 3 .. d'afficher les données en page 2 ?
Vu que ta page 2 attend des variables POST ( donc envoyées depuis le formulaire), si tu ne lui en envois pas.. forcément.. ça ne marche pas.
Une fois le code de ta page 2 corrigé, ça devrait donner ça<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require_once "includes/connect_db local.php"; if(isset($_POST["envoieoffreemploie"] )) { //récupération PROPRE des variables AVANT de les utiliser // htmlspecialchar ne s'utilise JAMAIS pour insérer en BDD.. uniquement pour de l'affichage $emploie = !empty($_POST['emploie']) ? $_POST['emploie'] : NULL; $contenu = !empty($_POST['contenu']) ? $_POST['contenu'] : NULL; $sql = 'INSERT INTO offreemploi(titre, contenu) VALUES(?, ?)'; $datas = array($emploie, $contenu); try{ $req = $db->prepare($sql); $req->execute($datas); }catch(Exception $e){ echo "Erreur " . $e->getMessage(); } $sql = 'SELECT titre, contenu FROM offreemploi WHERE titre = ? AND contenu <= ?'; $datas = array($emploie, $contenu); try{ $req = $db->prepare($sql); $req->execute($datas) }catch(Exception $e){ echo "Erreur " . $e->getMessage(); } echo '<ul>'; while ($donnees = $req->fetch()) { echo '<li>' . htmlspecialchars($donnees['titre']) . ' (' . htmlspecialchars($donnees['contenu']) . ' EUR)</li>'; } echo "</ul>"; } //fin du IF concernant le formulaire // Affichage de chaque message (toutes les données sont protégées par htmlspecialchars) $sql = 'SELECT titre, contenu FROM offreemploi ORDER BY ID DESC LIMIT 0, 30'; try{ $req = $db->prepare($sql); $req->execute(); while ($donnees = $req->fetch()) { echo '<p><strong>' . htmlspecialchars($donnees['titre']) . '</strong> : ' . htmlspecialchars($donnees['contenu']) . '</p>'; } }catch(Exception $e){ echo "Erreur " . $e->getMessage(); } ?>
Je t'invite au passage à prendre connaissance (et à appliquer) les consignes données dans ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.