Page Asynchrone sans AJAX ??

doctorpower Messages postés 360 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

sur mon site il y'a un systeme de commentaire en dessous de chaque article. J'aimerai que l'envoi de commentaire se fasse sans que la page soit entierement rechargee.
Je sais que c'est possible grace a l'ajax mais je ne sais pas du tout l'utiliser, jquery non plus...
Est-ce possible et efficace d'utiliser une iframe en dessous de chaque article ?

merci d'avance

A voir également:

3 réponses

rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
 
le mieu c'est que tu lise ca, c'est super bien expliqué et abordable a tous niveaux

http://www.siteduzero.com/tutoriel-3-4745-ajax-et-l-echange-de-donnees-en-javascript.html
0
doctorpower Messages postés 360 Date d'inscription   Statut Membre Dernière intervention   68
 
merci d'avoir repondu rudak mais je connais deja ce tuto,
je compte apprendre l'ajax mais je n'ai malheureusement pas le temps de m'y mettre tout de suite. Je ne pense pas que ce soit aussi simple et abordable que tu le dis..
0
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

Que tu veuilles on non apprendre à utiliser AJAX, ça reste la méthode la plus propre.
Les frames sont obsolètes.

Avant de te lancer dans l'AJAX je te conseille quand même d'apprendre les bases en Javascript, ça te permettra de ne pas faire des copier/coller sans rien comprendre.

Sinon, oui, c'est possible avec les frames.
Tu peux créer une page qui ne fait qu'afficher les commentaires et l'inclure dans une frame :
<iframe src="lire_commentaires.php?article_id=1" id="frameCommentaires" name="frameCommentaires" />


Dans ton formulaire :
<form 
    method="post" 
    action="lire_commentaires.php?article_id=1" 
    target="frameCommentaires" 
    > 

    ... 

</form>
Dans lire_commentaires.php, tu pourras vérifier si les variables POST existent (isset). Si oui, alors tu peux enregistrer le commentaire avant de générer la liste.
<?php 
include 'dbconnect.php'; 

if(isset($_GET['article_id'])) { 
    // Si un ID est précisé 
     
    if(isset($_POST['pseudo']) && isset($_POST['message'])) { 
        // Si un message est envoyé 

        $pseudo = trim($_POST['pseudo']); 
        $message = trim($_POST['message']); 

        if(!empty($pseudo) && !empty($message)) { 
            // Si les champs ne sont pas vides 

            $sql = 'INSERT INTO commentaires(article_id, auteur, message) ' 
             . 'VALUES('.(int) $_GET['id'].', '.$db->quote($pseudo).', '.$db->quote($message).')'; 
            $db->exec($sql); 
        } 
    } 

    /* Listage des commentaires */ 
    $sql = 'SELECT * FROM commentaires WHERE article_id = '.(int) $_GET['id']; 
    $commentaires = $db->query($sql); 
    $commentaires->setFetchMode(PDO::FETCH_OBJ); 

    while($commentaire = $commentaires->fetch()) { 
        include 'views/commentaire.php'; 
    } 
} 

?>

Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0