begin process at 2008 08 20 11:52:08
1 228 769 membres
141 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : J'arrive pas à faire fonctionner le script correctement >< [ Web 2.0 / Ajax ] (l2woyo)

J'arrive pas à faire fonctionner le script correctement >< le 21/06/2008 22:16:18

l2woyo
Bonsoir à tous,

donc voilà; je voulais faire un edit de thread de news automatique lorsque admin, suffit de clicker(ce qui le rend modifiable) et changer le texte: donc AJAX pour sauvegarder le résultat.. cependant, je n'arrive pas du tout à faire fonctionner le script ><

votre aide serait grandement appréciée!

Le code AJAX >>

function postedit(nom,nid)
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }

    xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
      document.getElementById(nom).innerHTML = xmlHttp.responseText;
      }
    }

  var text = escape(document.getElementById(nom).innerHTML);
  xmlHttp.open("GET","ajaxedit.php?id="+nid+"&text="+text,true);
  xmlHttp.send(null);

 
 }


Le code PHP (de la page appelée par le code AJAX)>>

<?php
require("connectdb.php");
session_start();

$query = @mysql_query("SELECT nAuthor FROM news WHERE WHERE nID='$_GET[id]'");
$result=mysql_fetch_array($query)

        if($_SESSION['ACCESS'] == 7 or ($_SESSION['ACCESS'] == 6 and
        strtoupper($result['nAuthor']) == strtoupper($_SESSION['AUTH'])))
        {
             $_GET['text'] = urldecode($_GET['text']);
             $query = @mysql_query("UPDATE news SET nText='$_GET[text]' WHERE nID='$_GET[id]'");
       
        }
       

mysql_close();

?>


Et finalement... le code HTML/PHP >>

if (isset($_SESSION['ACCESS']))
{
        if($_SESSION['ACCESS'] == 7 or ($_SESSION['ACCESS'] == 6 and
        strtoupper($result[nAuthor]) == strtoupper($_SESSION[AUTH])))
        {
        $editthis = $readpoint;
        $editperm = "<img src='Image/icons/b_edit.png'>
        <a href='http://hmquarters.com/index.php?edit=$editthis&page=$editpage'>Edit</a>";
        $delperm = "<a href='http://hmquarters.com/index.php?delnews=$readpoint'>Delete</a>";
        $adminaccess = "onclick=\"editswitch('summary$result[nID]','$result[nID]');\"";
        }
        else
        {
            $editperm = "";
            $delperm = "";
            $adminaccess = "";
        }
}
else
{
    $editperm = "";
    $delperm = "";
}
    $summary = addslashes($summary);
    $summary = stripslashes($summary);
    $summary = nbspcheck($summary);
    $summary = nl2br($summary);
   
    $showimg = imgexist($accesslvl['imagelink']);
    echo "<div id='container2'>

        <table cellpadding=0 cellspacing=0>
        <tr>
             <td colspan=2 style='border-right: 1px solid gray; border-left: 1px solid gray;' id='cadresignsmall' >
                 &nbsp;<b>$result[nTitle]</b>
            </td>
        </tr>
        <tr>
            <td style='border: 1px solid gray;'>
                Author: <a href='http://hmquarters.com/index.php?founduser=$result[nAuthor]'>$result[nAuthor]</a>\n
            </td>
            <td rowspan=3 style='width: 100%; border-left: 1px solid gray; border-right: 1px solid gray;'>
               <div id='summary$result[nID]' style='width: 100%; height: 100%; display:;' 
                $adminaccess>$summary</div>
                <textarea id='edit$result[nID]' style='font: 11px arial; height: 100%;
                border: 0px solid black; background: black;
                color: white; width: 100%; display:none;'
                onblur=\"postedit('edit$result[nID]','$result[nID]');\">$summary</textarea>";


Re : J'arrive pas à faire fonctionner le script correctement >< le 22/06/2008 13:17:44

Evangun
Salut,

teste d'un côté si la page php qui est appelée fonctionne correctement. Ensuite teste pas à pas ton code javascript en n'oubliant pas de t'aider de la console d'erreurs de Firefox.

à+

Re : J'arrive pas à faire fonctionner le script correctement >< le 22/06/2008 20:11:09

l2woyo
merci pour la réponse, j'ai fait comme suggéré, j'ai testé la page PHP indépendemment, j'avais bel et bien des erreurs et je les ai corrigés XD. Si j'écris la requête manuellement (celle que le AJAX est supposé envoyer) dans la barre d'adresse tout fonctionne correctement, et la console d'erreur firefox ne semble pas trouver d'embrouille... une idée qui pourrait causer problème? :s

Re : J'arrive pas à faire fonctionner le script correctement >< le 22/06/2008 20:19:48

Evangun
Fais des alert( ) en javascript pour savoir ce que te répond la page et essaie de mettre des messages d'erreurs pour savoir à quel moment ta requête xmlhttp échoue, parce que je ne peux pas savoir comme ça d'où vient l'erreur.
à+

Re : J'arrive pas à faire fonctionner le script correctement >< le 22/06/2008 21:05:04

l2woyo
http://hmquarters.com/index.php

voilà, account: asuka
       password: lol

J'ai mis alert(text);

ligne d'avant -> var text = escape(document.getElementById(nom).innerHTML);

c'est vraiment bizarre en fait... c'est comme si ça prenait le text qu'il y avait dans la texte box AVANT le changement (blur)o.O, sans blague, j'y comprend que dalle XD

Re : J'arrive pas à faire fonctionner le script correctement >< le 22/06/2008 21:06:16

l2woyo
Une fois connecté, tu n'as qu'à cliquer une fois sur une thread pour pouvoir changer le texte et tester...

Re : J'arrive pas à faire fonctionner le script correctement >< le 01/08/2008 15:50:55

djmmix
hum,si j'ai compris c'est normal AJAX ne marche que sur le coté CLIENT donc quand tu modifie la page sa n'apparait que sur la page en court mais en aucun cas sa modifie la page charger.donc tu te retrouve avec le texte charger avec la page.

dans ce cas envoie t'est donnée ajax dans une page php et fait un refresh de ta page pour voir le résultat.

 djmmix un programmeur fou


Classé sous : session, result, xmlhttp, summary, nid

Participer à cet échange

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS