p
u
b
l
i
c
i
t
é
Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux
7   0


 Discussion forum

Sur le même sujet

AJAX en clair
Article de christele_r

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 - Expert Confirmé http://www.developpez.com
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 - Invité régulier http://www.developpez.com
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 - Expert Confirmé http://www.developpez.com
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 - Invité régulier http://www.developpez.com
le 03/02/2013 à 13:29
okok merci, je cherche !
Avatar de Stryke68 Stryke68 - Invité régulier http://www.developpez.com
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 : Sélectionner tout
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 : Sélectionner tout
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 - Expert Confirmé http://www.developpez.com
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 - Responsable JavaScript & AJAX http://www.developpez.com
le 05/02/2013 à 8:10
Okay, j'attends ta correction Christele.

Merci Stryke68.
Avatar de christele_r christele_r - Expert Confirmé http://www.developpez.com
le 05/02/2013 à 15:40
Vraiment cela se répare avec un minimum de travail
dans ajax.php
remplacer ceci
Code php : Sélectionner tout
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 : Sélectionner tout
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 - Responsable JavaScript & AJAX http://www.developpez.com
le 05/02/2013 à 15:51
Corrigé dans les sources et dans l'article.
Avatar de christele_r christele_r - Expert Confirmé http://www.developpez.com
le 05/02/2013 à 15:59
En plus c'est toujour hyper réactif avec toi
Merci encore
Christele
Offres d'emploi IT
AXA global graduate program - architecte technique f/h
CDI
AXA - Ile de France - Nanterre - Les Terrasses
Ingénieur développement C++ H/F
CDI
Sogeti High Tech - Provence Alpes Côte d'Azur - Sophia-Antipolis (06000)
Administrateur base de données h/f
CDI
DAILYMOTION - Ile de France - Paris (75017)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique AJAX : Xavier Lecomte - Didier Mouronval -