Salut à tous,
J'ai un peu de mal à faire fonctionner ce code.
La boucle est surement mal écrite. Il doit manquer des " ou des . ou alors le ; . J'ai un peut tout essayé et je mouline.
Et en virant cette ligne tout fonctionne. Mais bon je veux quand même afficher tout les commentaires :)
Merci par avance
<?php
$comments ="
<h2>Vos commentaires</h2>
while($d = $aff_comments->fetch())
{
<div>
<p>Posté par {$d"pseudo"]}le ".date("j/n/Y à G:i",strtotime($d"date"]))."</p>
<p>{$d"comments"]}</p>
</div>
}
<form method=\"post\" action=\"traitements/add_comments\"/>
<fieldset>
<legend><h3>Laissez un commentaire</h3></legend>
<p class=\"champs\">
<label for=\"nom\" title=\"Inserez votre nom\" class=\"oblig\">Nom</label>
<input type=\"text\" id=\"nom\" name=\"nom\" title=\"Inserez votre nom\" tabindex=\"1\"></input>
</p>
<p class=\"champs\">
<label for=\"mail\" title=\"Inserez votre Email\" class=\"oblig\">E-mail</label>
<input type=\"text\" id=\"mail\" name=\"mail\" title=\"Inserez votre email\" tabindex=\"1\"></input>
</p>
<p class=\"champs\">
<label for=\"site\" title=\"Inserez votre site web\" class=\"oblig\">Inserez votre site web</label>
<input type=\"text\" id=\"site\" name=\"site\" title=\"Inserez votre site web\" tabindex=\"1\"></input>
</p>
<p class=\"textarea\">
<label for=\"comments\" title=\"Votre commentaire\" class=\"oblig\">Commentaire</label></p>
<textarea name=\"comments\" id=\"comments\" ></textarea>
</fieldset>
<input class=\"insert\" type=\"submit\" value=\"Envoyer\">
</form>";
?>
Effectivement, mieux vaut utiliser ob_start() et ob_get_clean().
<?php ob_start() ?>
<h2>Vos commentaires</h2>
<?php while($d = $aff_comments->fetch()): ?>
<div>
<p>Posté par <?php echo $d"pseudo"] ?> le <?php echo date("j/n/Y à G:i",strtotime($d"date"])) ?></p>
<p><?php echo $d"comments"]; ?></p>
</div>
<?php endwhile; ?>
<form method="post" action="traitements/addcomments">
<fieldset>
<legend>Laissez un commentaire</legend>
<p class="champs">
<label for="nom" title="Inserez votre nom" class="oblig">Nom</label>
<input type="text" id="nom" name="nom" title="Inserez votre nom" />
</p>
<p class="champs">
<label for="mail" title="Inserez votre Email" class="oblig">E-mail</label>
<input type="text" id="mail" name="mail" title="Inserez votre email" />
</p>
<p class="champs">
<label for="site" title="Inserez votre site web" class="oblig">Inserez votre site web</label>
<input type="text" id="site" name="site" title="Inserez votre site web" />
</p>
<p class="textarea">
<label for="comments" title="Votre commentaire" class="oblig">Commentaire</label>
<textarea name="comments" id="comments"></textarea>
</p>
</fieldset>
<input class="insert" type="submit" value="Envoyer" />
</form>
<?php $comments = ob_get_clean(); ?>
Je t'ai supprimé les \ et corrigé les fautes de syntaxe... Tu devrais te rendre sur le Site du zéro pour réviser tes bases en HTML/PHP :)
Salut !
Tu n'as mis aucune ouverture ou fermeture du php sur le html déjà... commence peut-être par là.
Ensuite je ne comprends pas trop : ce que tu affiches là, pourquoi est-il stocké ainsi dans une variable ? Pourquoi ne fais-tu pas plutôt une function que tu appelles ?
Merci ça marche très bien.
Donc si je comprends bien.
La fonction ob_start() stocke tout les informations qui suivent.
Et ob_get_clean affiche le tout dans la variable $comments.
Pour ma syntaxe je regarderais nos deux code pour comprendre.
J'apprends tout doucement, ça fait seulement quelque mois que je code.