begin process at 2012 05 28 13:31:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Web 2.0

 > 

Ajax

 > 

Lien vers un include sans recharger la page avec Ajax


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lien vers un include sans recharger la page avec Ajax

mercredi 16 août 2006 à 22:06:18 | Lien vers un include sans recharger la page avec Ajax

smoke

Salut tt le monde ;)
J'aimerais savoir si quelqu'un aurait une info pour recharger uniquement une partie d'une page avec Ajax.

Je m'explique:
Je crées une page nommée index avec 3 tableaux, dans lesquels je mets:

tableau 1: include en php du header contenant du flash
tableau 2: include en php du corps du site
tableau 3: include en php du footer.

le but est de pouvoir cliquer sur un lien dans le header et de faire afficher la page dans le tableau 2 sans recharger toute la page index, afin de ne pas relancer le flash.

J'ai tout testé, sans vouloir tomber dans les frames, iframes, etc..
Quelqu'un aurait une info?


mercredi 16 août 2006 à 22:44:55 | Re : Lien vers un include sans recharger la page avec Ajax

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Salut

Regardes sur le site
http://fr.wikibooks.org/wiki/Programmation_PHP/Ajax/Sommaire

L'exemple parait clair.


jeudi 17 août 2006 à 00:00:16 | Re : Lien vers un include sans recharger la page avec Ajax

smoke

Réponse acceptée !
Merci pour l'info nhervagault, je vais ausculter ca..

Pourtant j'ai cherché comme un sauvage sur le net avant de poser la question.. faut croire que j'ai pas mis les bons mots clés.. lol

samedi 11 février 2012 à 23:59:07 | Re : Lien vers un include sans recharger la page avec Ajax

stealon

Moi j'ai un problème, j'ai un formulaire avec deux champs de type text et je souhaite récupérer les valeurs insérées par l'utilisateur pour faire une requête sql et afficher le résultat ailleurs dans un div de la même page tout ceci sans la recharger. Merci à tous.
dimanche 12 février 2012 à 01:04:45 | Re : afficher le resultat d'une requêt avec les valeurs d'un formulaire sans recharger la page avec Ajax

stealon

Pour éviter les pertes de temps voici avec le code ce que je voudrai faire:

Code HTML :
<form name="mon_formulaire" method="post" aciont="page_suivante.php">
    <label for="nom">Votre nom: </label><br />
    <input type="text" name="nom" id="nom" value="votre nom" /> <br /><br />
    <label for="prenom">Votre prénom: </label><br />
    <input type="text" name="prenom" value="Votre prénom" id="prenom"/><br /> <br />
    <label for="statut">Votre statut:</label><br />
    <select name="statut">
        <option value="sélectionner">Sélectionner</option>
        <option value="nouveau" id="statut">Nouveau</option>
        <option value="ancien">Ancien</option>
    </select>
   <button name="bouton_valider">
        Valider
    </button>
</form><br /> <br /> <br />
<table>
    <tr>/*c'est ici que je m'embourbe. je sais que le javascript s'exécute coté client j'exprime juste le résultat que je veux */
        print'<script language="javascript">';
            print'var $nom = document.getElementById("nom").value;';
            print'var $prenom = document.getElementById("prenom").value;';
            print'var $statut = document.getElementById("statut").options[document.getElementById("statut").selectedIndex].value;';
        print'</script>';
        if(!empty($nom) AND !empty($prenom) AND $statut != 'sélectionner')
          {
            if($statut == 'ancien')
               {
                  $req = mysql_query("SELECT Points FROM Utilisateurs WHERE Nom = "$nom" AND Prenom = "$prenom"")  or die(mysql_error());
                 while($result = mysql_fetch_array($req)
                      {
                         $Nbre_point = $result["Points"];
                      }
               }
          }
    

<td>Nom et prénom:</td>
<td><?php echo $nom $prenom; // je sais qu'il y a mieux mais bon...?> </td>
</tr>
<tr>
<td>nombre de points</td>
<td><?php echo $Nbre_point; ?> </td>
</tr>
</table>
[/code]

dimanche 12 février 2012 à 01:08:45 | Re : Lien vers un include sans recharger la page avec Ajax

stealon

J'ai oublier de signaler que je déclenche l'action grâce à un événement javascript onchage sur la balise select.
lundi 5 mars 2012 à 01:39:57 | Re : Lien vers un include sans recharger la page avec Ajax

stealon

Après beaucoup de recherche j'ai fini par résoudre mon problème et je le poste pour ceux à qui ça pourrait être utile.
On a besoin de trois fichiers celui du formulaire que je peux appeler formulaire.html ,celui qui reçoit la raquette appelé traitement_reponse.php et enfin un fichier javascript où l'on va mettre l'objet XMLHttpRequest d'ajax
Dans le fichier formulaire.html on a notre furmulaire:

Code HTML :
<html>
<head>
    <title="exemple d'utilisation d'ajax</title>
    <script type="text/javascript" src="objetXHR.js"></script>
    <script type="text/javascript">
     function request(variable)
              {
		var xhr   = getXMLHttpRequest();//je crèe l'objet XMLHttpRequest
                //je définie les variables
                var Statut = document.getElementById('statut').options[document.getElementById('statut').selectedIndex].value;
               var Nom = document.getElementById('nom').value;
               var Prenom = document.getElementById('prenom').value;
               
               xhr.onreadystatechange = function()
		   {					 
		     if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))//si la reponse du serveur est prête:
			{
                          
                          var resultat;
		          resultat = xhr.responseText;
			  variable.textContent = resultat;  //variable passée en argument
                          //on peut faire un alert avec le résultat
                          alert(resultat);
                        }
                        if(xhr.readyState < 4) // si le serveur n'a pas encore répondu
   			   {
			    // on peut afficher un image  de pregression 							
		           }
                    };
                //on protège les variables pour conserver les caractère spéciaux et les espaces
                 var nom_e = encodeURIComponent(nom);
		 var prenom_e = encodeURIComponent(prenom);
		 //les variables que l'on va envoyer en methode post
                var date = "Nom="+Nom+"&Prenom="+Prenom+"&Statut="+Statut;
                 //on envoie enfin la requêtte
                xhr.open("POST", "traitement_reponse.php", true);
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send(data);
              }
    </script>
</head>
<form name="mon_formulaire" method="post" aciont="page_suivante.php">
    <label for="nom"> votre nom:</label>
    <input type="text" name="nom" id="nom" value="votre nom" /> <br /><br />
    <labe for="prenom">Votre prenom:</label>
    <input type="text" name="prenom" id="prenom" value="votre prénom" /><br /><br />
    <label for="statut">Votre statut:</label>
    <select name="statut" id="statut" onchange="request"(document.getElementById('nbPoint');>
        <option value="sélectionner" selected="selected">Sélectionner</option>
        <option value="nouveau">Nouveau</option>
        <option value="ancien">Ancien</option>
    </select>
</form>
<br />
<div id="nbPoint">
Vos points
</div>
</html>


Le fichier javascript qui contient notre objet XMLHttprequest:
Code Javascript :
     function getXMLHttpRequest() 
    {
	 var xhr = null;
	
	 if (window.XMLHttpRequest || window.ActiveXObject) 
	    {
		 if (window.ActiveXObject) 
		    {
			 try 
			    {
				 xhr = new ActiveXObject("Msxml2.XMLHTTP");
			    }
			 catch(e) 
			    {
			     xhr = new ActiveXObject("Microsoft.XMLHTTP");
			    }
		    }
		 else 
		    {
			 xhr = new XMLHttpRequest(); 
		    }
	    } 
	 else 
	    {
		 alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		 return null;
	    }
     return xhr;
    }


Le fichier php qui va traiter la requête :traitement_reponse.php

Code PHP :
    header("Content-Type: text/plain");
    require_once("config.php"); //le ficher de configuration
    //la connection à la bd
    $connect=mysql_connect($host,$user_ap,$pass_user);
    mysql_select_db($db);
    
    if(!empty($_POST["Statut"]) && !empty($_POST['Nom']) && !empty($_POST['Prenom']))
      {
       $Nom = mysql_real_escape_string($_POST['Nom']);
       $Prenom = mysql_real_escape_string($_POST['Prenom']);
       $req = mysql_query("SELECT Nbr_point FROM TABLE WHERE Nom = '$Nom' AND Prenom ='$Prenom'") or die(mysql_error());
        $result = mysql_fetch_array($req);
        $NBPoint = $result['Nbr_point'];
       
        //la réponse qu'envoie le serveur
         echo $NBPoint;
      }


Bon voila j'espère que ce code va aider beaucoup de personnes. c'est vrai qu'il est incomplet concernant l'épuration des variables afin de voir si elle ne contient pas des impuretés avant d'être envoyer par la requête mais c'est juste fait à la va vite, pour éclairer ceux qui en ont besoin. surtout n'oubliez pas de coucher la case si ça vous aider. merci


Cette discussion est classée dans : page, tableau, lien, include, recharger


Répondre à ce message

Sujets en rapport avec ce message

Include pour charger une page sans devoir tout recharger [ par eldiablomortal ] bon voila j'ai fait ma page d'acceuil normal pui je me sui rendu compte que certaine de mes pages etai lourdes a charger donc me sui dit si je faisait Php sans recharger la page [ par albinOz ] Bonjour à tous, Pour commencer, j'ai, grâce à vous, presque terminé mon projet d'annuaire d'entreprise . Pour aller plus loin, j'ai mis une contribu Passer une variable dans un include ? [ par nougitch ] Bonjour, Je suis sur ma page principale. J'ai deux boutons radios. En fonction du choix, l'un des deux tableaux apparaît. Mon tableau contient des r Rafraichir un tableau sans recharger la page [ par Arto_8000 ] Bon comme la question le dit je veux rafraichir un tableau sans avoir à rafraichir la page ou faire un POST. En gros voici comment je voudrais que cel Affichage dans le tableau [ par VivoBaggio ] Salut à tous. Voilà, j'ai un petit souci sur l'affichage dans mon tableau. Sur le site, il y a 3 tableaux. En hautse situe la bannière, à gauche se si Lien php [ par Heny ] Bonjour Dans une premiére page nommée Page01.php il ya un tableau de 10 lignes et  de deux colonnes une pour les images et l'autre p probleme include et lien [ par nou366 ] Bonjour à tous, Je débute en PHP, j'utilise des include pour afficher une partie de ma page ( le corps du site) en fonction des choix des liens. l Problème lors du remplacement des frames par des includes [ par GarnierFlorian ] Salut à tous ! Tout d'abord, voici le principe : il s'agit d'un espace perso, autrement dit un utilisateur sur un site avec un compte perso et des fo Recharger le même formulaire [ par bruce207 ] Bonjour, mon problème est le suivant j'ai le code ci-dessous dans le fichier comment.php et je l'inclu (include_once 'comment.php' ) dans la page inde creer un bloc fixe dans toute les pages [ par itachi2255 ] bonjour, je suis debutant et je voulais creer un petit site internet dans lequel ya plusieurs page. et je voudrais que la partie supperieure qui conti


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales