Communauté Informatique NDFR.net : PHP et AJAX - Programmation Web (HTML, PHP, ASP, Java, XML, etc.)
Reply
PHP et AJAX
Thread Tools Display Modes
  #1  
Old 22-01-2008, 01:40
maroctech maroctech is offline
Membre junior
 
Join Date: 22-01-2008
Posts: 3
PHP et AJAX

Bonjour.
Je vous envoi ce post afin de vous exposer mon problém. j'essaie depuis quelques jours de concevoir un systém de gestion pour cyber en utilisant PHP et les fonctionnalités d'AJAX. Actuellement je travail sur le calcul de la durée de connexion.j'ai réussi a créer une page (traitement.php) qui traite les informations prevenant de la page (duree.html)
Le code de la page traitement.php est le suivant :

<?
/* Récupération des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$hentree = stripslashes($_POST['hentree']);
$hsortie = stripslashes($_POST['hsortie']);

}
else
{
$hentree = $_POST['hentree'];
$hsortie = $_POST['hsortie'];

}

function difheure($heuredeb,$heurefin)
{
$hd=explode(":",$heuredeb);
$hf=explode(":",$heurefin);
$hd[0]=(int)($hd[0]);$hd[1]=(int)($hd[1]);$hd[2]=(int)($hd[2]);
$hf[0]=(int)($hf[0]);$hf[1]=(int)($hf[1]);$hf[2]=(int)($hf[2]);
if($hf[2]<$hd[2]){$hf[1]=$hf[1]-1;$hf[2]=$hf[2]+60;}
if($hf[1]<$hd[1]){$hf[0]=$hf[0]-1;$hf[1]=$hf[1]+60;}
if($hf[0]<$hd[0]){$hf[0]=$hf[0]+24;}
return (($hf[0]-$hd[0]).":".($hf[1]-$hd[1]));
}
// Appel
$hdeb= $hentree;
$hfin= $hsortie;
echo difheure($hdeb,$hfin);


?>

le code de la page duree.html est le suivant :

<head>
</head>

<body>
<form>
<label>Heure d'entree
<input name="hentree" type="text" id="hentree" />
</label>
<p>
<label>Heure de sortie
<input name="hsortie" type="text" id="hsortie" />
</label>
</p>
<p>

<input type="submit" value="Calculer la durée"/>
</p>
</form>
</body>
</html>

Ca marche nickel . la page traitement.php me donne la durée en heures et minutes comme j'ai exigé.
Maintenant j'ai essayé d'introduire AJAX pour avoir la durée sur la page duree.html dés que je clique sur le bouton Calculer sans que le navigateur passe vers la page traitement.php
Autrement dit je veu ce procesus :

duree.html =====(Requete avec les variables - AJAX) ==> traitement.php
traitement.php ======(Resultat de calcul - AJAX) ===> duree.html


j'avais essayer pas mal de scripts et codes mais ca marche pas. quelqu'un pourrai me proposer une solution clair et un code a facile a comprendre parceque je vous signale que ce sonts mes premieres manipulations d'AJAX.Merci
Reply With Quote
  #2  
Old 22-01-2008, 10:24
Samva's Avatar
Samva Samva is offline
Niaisüre within
 
Join Date: 24-04-2003
Location: Tours
Age: 39
Posts: 2,320
Send a message via ICQ to Samva Send a message via MSN to Samva
Pour faire simple et sans te pondre le code, les étapes sont (dans un javascript de duree.html) :
  • Créer l'objet XMLHttpRequest (tous les tutos donnent la procédure pour créer l'objet pour tous les navigateurs)
  • Poster les valeurs
    Code:
    xhr.open("POST", "traitement.php");
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
    xhr.send("hentree="+document.getElementById("hentree").value+"&hsortie="+document.getElementById("hsortie").value;
  • Surcharger la méthode appelée sur le onReadyStateChange, pour cela, le plus simple est de rajouter un <div id="reponse"> par exemple dans ton duree.html, et dans la méthode, lorsque le readyState est à 4, de faire un truc du genre
    Code:
    document.getElementById("reponse").innerHTML=xhr.responseText;

Voilà, je pense qu'avec ça tu as une bonne base, tu as plus qu'a combler les trous que j'ai laissé...
__________________
For the End-of-the-World spell, press "Ctrl, Alt, Delete."


Reply With Quote
  #3  
Old 23-01-2008, 12:04
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
Je te conseil aussi une fois de regarder du coté de JQuery , qui te permet de faire des choses très complexes mais de manière très facile
Reply With Quote
  #4  
Old 25-01-2008, 13:58
$c@r's Avatar
$c@r $c@r is offline
Membre senior
 
Join Date: 11-05-2004
Location: Orlin'z & Bloi'z
Age: 39
Posts: 336
Personnellement je te conseil plutôt de te pencher du coté de la librairie prototype qui fournit une api cross-browser et simplifie largement l'utilisation de l'ajax. (utilisé par Jquery)
__________________
bloggure

"La terre ne nous appartient pas, elle appartient aux générations futurs..." à méditer !

chaussettes homme fil d'écosse
Reply With Quote
  #5  
Old 25-01-2008, 17:02
Samva's Avatar
Samva Samva is offline
Niaisüre within
 
Join Date: 24-04-2003
Location: Tours
Age: 39
Posts: 2,320
Send a message via ICQ to Samva Send a message via MSN to Samva
Youhou coupaing Scar \o/

Ouai c'est complètement HS et ALORS ??
__________________
For the End-of-the-World spell, press "Ctrl, Alt, Delete."


Reply With Quote
  #6  
Old 25-01-2008, 19:48
Benjy's Avatar
Benjy Benjy is offline
Administrateur
 
Join Date: 21-08-2001
Location: Rueil Malmaison (92)
Age: 43
Posts: 2,043
Send a message via MSN to Benjy
Et hop je trollise : la YUI est ton amie !
__________________
Merci de lire et de respecter les règles et d'utiliser la .
Reply With Quote
  #7  
Old 26-01-2008, 12:40
$c@r's Avatar
$c@r $c@r is offline
Membre senior
 
Join Date: 11-05-2004
Location: Orlin'z & Bloi'z
Age: 39
Posts: 336
ha ouais, maintenant que je lis plus loin que le sujet, c'est HS
__________________
bloggure

"La terre ne nous appartient pas, elle appartient aux générations futurs..." à méditer !

chaussettes homme fil d'écosse
Reply With Quote
  #8  
Old 27-01-2008, 18:08
maroctech maroctech is offline
Membre junior
 
Join Date: 22-01-2008
Posts: 3
Merci

Les mecs, je vous remercie pour vos réponses, j'avais pas le temps pour répondre a vos réponses mais je vous remercie. j'essaierai de voir ce que vous avez poster et je vous tienderai informé.Merci
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 19:55.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.