AJAX en clair
Article de christele_r

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Sur le même sujet
Le , par vermine, Responsable JavaScript & AJAX


christele_r nous propose un article sur l'AJAX afin de faire connaissance avec cette technologie et la démystifier. Elle nous propose de détailler les différentes étapes d'une requête AJAX et ce au moyen d'un exemple ludique.

Tutoriel AJAX en clair - Comment réaliser un chat en AJAX


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de christele_r christele_r
http://www.developpez.com
Expert Confirmé
le 30/01/2013 11:18
Merci a toi pour ce lancement.
Sans oublier ton aide dans ce premier article
Encore merci également à toute l'équipe.

Je compte enrichir ce type d'exemple simple, par quelques autres , souvent demandés sur les forums.

Bonne lecture
Christele
Avatar de Stryke68 Stryke68
http://www.developpez.com
Invité régulier
le 03/02/2013 9:39
Bonjour,
et tout d'abord merci pour cette article ! Même si je n'ai pas encore tout compris (certainement un soucis au niveau des prérequis... ) je "capte" à peu près comment cela fonctionne.
Mais j'ai quelques difficultés à mettre en œuvre l'exemple proposé :
Lorsque je propose un pseudo, oliv par exemple j'ai droit à une erreur :
Warning: Cannot modify header information - headers already sent by (output started at /home/cfecgcps/www/ajax/ajax_sql.php:47) in /home/cfecgcps/www/ajax/ajax.php on line 26

En cherchant un peu j'ai remarqué que 3 fichiers (ajax.css ajax.php et ajax_tchat_page.php) sont encodés en "Europe de l'Ouest".
J'ai mis UTF-8 mais cela n'a pas fait évoluer le message d'erreur.

La ligne "header("location:ajax_tchat_page.php");" semble être à l'origine de mes soucis. J'ai cherché d'éventuel caractères (voir des blancs) qui auraient pu s'afficher avant, mais pas trouvé !? (par ailleurs je ne comprends pas trop le rôle de cette ligne...)

Voilà, merci d'avance pour tout coup de main !
Stryke
Avatar de christele_r christele_r
http://www.developpez.com
Expert Confirmé
le 03/02/2013 11:22
Il est vrais que j'ais eu envie de ne pas mettre en UTF8 tant-pis pour les € et autres ...

Non il ne faut rien changer au code, par contre réedites chaque PHP avec un notepade de base et supprimes les BOM (caractéres avant <?php)
ou ligne vide accidentelle avant <?php

A++
Christele
Avatar de Stryke68 Stryke68
http://www.developpez.com
Invité régulier
le 03/02/2013 13:29
okok merci, je cherche !
Avatar de Stryke68 Stryke68
http://www.developpez.com
Invité régulier
le 04/02/2013 20:38
Bonsoir,
en fait, il me semble que le problème venait des dernières lignes de ajax_sql.php :
Code :
1
2
3
4
5
6
7
8
if ($moiChri=="O") { 
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="en"> 
<head> 
<meta content="text/html; charset=UTF-8" http-equiv="content-type"> 
<title>Devloppez le Tchat</title> 
<link rel="stylesheet" href="ajax.css" type="text/css"/> 
<body ><?php } ?>
Dans ajax.php on a require("ajax_sql.php") à la ligne 5. Comme $moiChri="O" on exécute les lignes citées plus haut.
Et lorsque l'on arrive en 26 de ajax.php :
Code :
header("location:ajax_tchat_page.php");
patatrac car on a déjà envoyé du texte.

J'ai réussi à contourner le problème et à comprendre l'essentiel.
Merci pour ce tuto !
Avatar de christele_r christele_r
http://www.developpez.com
Expert Confirmé
le 04/02/2013 23:33
Whaou mille mercis a toi !!

En premier tu as parfaitement tout assimilé, chapeau
Merci pour ta soigneuse lecture, je vais me tourner vers l'Ami vermine
En lui apportant ma correction, tu as décelé le cas particulier ou ça plante
en prime sur ce fameux problème de HEADER que je ne cesse d' expliquer
sur les forums

A++ et très heureuse de pouvoir corriger cela !
(ce sera fait dans qq jours)
Christele
Avatar de vermine vermine
http://www.developpez.com
Responsable JavaScript & AJAX
le 05/02/2013 8:10
Okay, j'attends ta correction Christele.

Merci Stryke68.
Avatar de christele_r christele_r
http://www.developpez.com
Expert Confirmé
le 05/02/2013 15:40
Vraiment cela se répare avec un minimum de travail
dans ajax.php
remplacer ceci
Code php :
1
2
3
4
5
6
7
8
9
<?php 
 if(!isset($erreur)) 
   { 
      $_SESSION["pseudo"] = $pseudo; 
      $_SESSION["ActuPseudoID"] = $ActuPseudoID; 
      $bdd=NULL; 
      header("location:ajax_tchat_page.php"); 
   } 
?>

par
Code php :
1
2
3
4
5
6
7
8
9
10
<?php 
if(!isset($erreur)) 
   { 
    $_SESSION["pseudo"] = $pseudo; 
    $_SESSION["ActuPseudoID"] = $ActuPseudoID; 
    $bdd=NULL; 
    echo '<meta http-equiv="refresh" content="0;URL=ajax_tchat_page.php">'; 
    exit; 
    } 
?>
soit une ligne de plus (exit et la ligne a remplacer
Voila A++
Christele
Avatar de vermine vermine
http://www.developpez.com
Responsable JavaScript & AJAX
le 05/02/2013 15:51
Corrigé dans les sources et dans l'article.
Avatar de christele_r christele_r
http://www.developpez.com
Expert Confirmé
le 05/02/2013 15:59
En plus c'est toujour hyper réactif avec toi
Merci encore
Christele
Offres d'emploi IT
Reconversion ingénieur informatique h/f
CDI
Adaming - Ile de France - Paris (75000)
Parue le 10/10/2014
Ingénieur développement ERP Junior H/F
CDI
CGI - Ile de France -
Parue le 28/09/2014
Développeur(se) expert android h/f
CDI
Page Personnel - Ile de France - Lille (59000)
Parue le 20/10/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula