Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script qui plante

Aide S.V.P URGENT

Sujet résolu
    21 juillet 2009 à 3:02:24

    Bonjour,

    j'ai déjà postée dans le forum PHP, mais sans réponse.
    Je viens de me rendre compte que mon script plante, mais je ne sais pas où. Il y a une page en JS qui est censée transmettre des variables à une page de traitement PHP, qui les enregistrera plus tard dans la bd.

    Mais elle n'enregistre rien !


    En faisant créer un cookie par la page PHP, je me suis rendue compte qu'il ne créait rien, et donc le problème vient lors de l'appel de la page de traitement en PHP.

    Voici les deux pages, assez courtes.

    logo.js
    /*************************************************
    * On récupère les arguments de la page en cours
    * ainsi que son URL 
    ***************************************************/
    	var url = document.location.href; // On récupère l'URL .
    	var data = "" // On initialise notre variable qui contiendra tout les arguments .
    	var argument = url.split("?"); // On récupère le premier paramètre, notre chaine sera coupé en deux .
    	if (typeof(argument[1]) != 'undefined') {
    		data = argument[1]; // On met tout nos argument dans data .
    	}
    	 url = argument[0] // Puis on met l'URL de base dans notre variable URL . 
    	// note : data contiendra à la fin tout nos argument à passer à la page PHP
    	 
    /*******************************************************
    * On récupère la date 
    ********************************************************/
    	var date = new Date();
    	var annee = date.getFullYear(); // L'année sur 4 chiffre .
    	var mois =  date.getMonth(); // Le mois
    	var jourNom =  date.getDay(); // Le nom du jour, 0 = Dimanche 1 = Lundi ....
    	var jour =  date.getDate(); // Le jour, va de 1 à 31 
    	var heure =  date.getHours(); // les heures
    	var minutes =  date.getMinutes(); // Les minutes 
    	var seconde =  date.getSeconds(); // Les secondes
    	var dateVoulue = annee + "-" + mois + "-" + jour + " " + heure + ":" + minutes + ":" + seconde; // On créé la date voulue
    	if (data == "") { // Alors elle est vide donc on avait aucun paramètre à la base sur la page actuelle
    		data = "?date=" + dateVoulue; // Alors on ajoute le "?"
    	}
    	else { // Sinon on continue la chaine avec les &
    		data  = data + "&date=" + dateVoulue; // On insère la date dans notre variable data qui enverra sa à la page PHP
    	}
    
    
    /*******************************************************
    * On va récupérer le site d'ou il vient maintenant : 
    ********************************************************/
    	var referer = window.referer; // On récupère le referer
    	data = data + "&referer=" + referer; // Si referer = undefined, c'est qu'il a directement entré l'URL ou qu'en aucun cas il n'a été dirigé par un site ici 
    
    /*******************************************************
    * L'ip n'est pas récupérable via Javasrcipt .
    ********************************************************/
    
    
    
    /*******************************************************
    * On récupère le navigateur : 
    ********************************************************/
    	var navigateur = navigator.appCodeName; // Le nom de code du navigateur
    	var versionNav = navigator.appVersion; // La version du navigateur 
    	data = data + "&navigateur=" + navigateur + "&navigateurVersion=" + versionNav;
    
    /*******************************************************
    * On récupère l'OS : 
    ********************************************************/
    // On test les diffents choix pour avoir le bon OS, tous ne sont pas répertorié ici, seulement les plus courants 
    /*if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
    if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
    if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
    if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
    
    data = data + "&os=" + OSName;*/
    /*******************************************************
    * L'hôte n'est récupérable que via PHP 
    *
    ********************************************************/
    
    /*******************************************************
    * Envoie de la requête AJAX 
    ********************************************************/
    var page = "request"; 
    
    var xhr = null; // on créé notre objet XHR, selon les navigateur pour qu'il marche bien partout .
    
    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();
    				xhr.onreadystatechange = function() {
    					if (xhr.readyState == (1 || 2 || 3 )) {
    						// Ici met ce que tu veux, c'est le chargement, par exemple une image va sur AJAX-loader pour en trouver
    					} 
    					if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    						 // La c'est que le chargement est finis fait ce que tu veux aussi 
    					}
    					
    				}
    				xhr.open("POST","" + page + '.php', true); // Tu devras récupérer les variables en $_POST
    				xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    				xhr.send(data); // et on envoie tout les données à ta page PHP 
    		}
    } else {
    		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    		return null;
    }
    


    request.php, la page de traitement
    <?php
    /*********************************************
    * Script réalisé par : steber
    * Sert à             : récupérer les variables 
    * contenant les infos et les enregistrer dans 
    * la bd
    * Fait le            : Mardi 14 Juillet 2009
    *********************************************/
    
    /*********************************************
    * On récupère toutes les variables envoyées 
    * par $_POST et on définit l'IP et l'hôte
    * ainsi que l'OS
    *********************************************/
              // On vérifie s'il n'est pas derrière un proxy
              if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    
              $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    
              }
    
              elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
    
              $ip = $_SERVER['HTTP_CLIENT_IP'];
    
              }
    
              else {
    
              $ip = $_SERVER['REMOTE_ADDR'];
    
              }
    
              
              // récupération du domaine du client
    
              $host = gethostbyaddr($ip);
              
              function getOS( $ua = '' )
    {
        if( ! $ua  ) $ua = $_SERVER['HTTP_USER_AGENT'];
        $os = 'Syst&egrave;me d&#39;exploitation inconnu';
        
        $os_arr = Array(
                         // -- Windows
                         'Windows NT 6.1'       => 'Windows Seven',
                         'Windows NT 6.0'       => 'Windows Vista',
                         'Windows NT 5.2'       => 'Windows Server 2003',
                         'Windows NT 5.1'       => 'Windows XP',
                         'Windows NT 5.0'       => 'Windows 2000',
                         'Windows 2000'         => 'Windows 2000',
                         'Windows CE'           => 'Windows Mobile',
                         'Win 9x 4.90'          => 'Windows Me.',
                         'Windows 98'           => 'Windows 98',
                         'Windows 95'           => 'Windows 95',
                         'Win95'                => 'Windows 95',
                         'Windows NT'           => 'Windows NT',
                         
                         // -- Linux
                         'Ubuntu'               => 'Linux Ubuntu',
                         'Fedora'               => 'Linux Fedora',
                         'Linux'                => 'Linux',
                         
                         // -- Mac
                         'Macintosh'            => 'Mac',
                         'Mac OS X'             => 'Mac OS X',
                         'Mac_PowerPC'          => 'Mac OS X',
                         
                         // -- Autres ...
                         'FreeBSD'              => 'FreeBSD',
                         'Unix'                 => 'Unix',
                         'Playstation portable' => 'PSP',
                         'OpenSolaris'          => 'SunOS',
                         'SunOS'                => 'SunOS',
                         'Nintendo Wii'         => 'Nintendo Wii',
                         'Mac'                  => 'Mac',
                       );
        
              $ua = strtolower( $ua ); 
              foreach( $os_arr as $k => $v )
              {
                  if( ereg( strtolower( $k ), $ua ) )
                  {
                      $os = $v;
                      break;
                  }
              }
              return $os;
          }
          
              $page_courante = $_POST['url'];
              $urlsite = $_POST['url'];
              $date = $_POST['date'];
              $referer = $_POST['referer'];
              $navigateur = $_POST['navigateur'] . $_POST['navigateurVersion'];
              $os = getOS($_SERVER['HTTP_USER_AGENT']);
              $sessid = $_REQUEST['PHPSESSID'];
              
    /*********************************************
    * On se connecte à la bd et on cherche à quel 
    * pseudo correspond l'URL répertoriée	 
    *********************************************/
              include("../includes/connexion_db.php");
              
              $requestA = mysql_query('SELECT pseudo, nomsite FROM membres WHERE urlsite = "'. $urlsite .'"');
              $dataA = mysql_fetch_array($requestA);
              $pseudo = $dataA['pseudo'];
              
    /*********************************************
    * On enregistre les données dans la bd et 
    * fermeture de la connexion à la bd
    *********************************************/
              $requestB = mysql_query('INSERT INTO infos_visiteur VALUES("", "'.$pseudo.'", "'.$page_courante.'", "'.$ip.'", "'.$host.'", "'.$referer.'", "'.$date.'", "'.$sessid.'")');
              
              $requestC = mysql_query('INSERT INTO materiel VALUES("", "'.$pseudo.'", "'.$navigateur.'", "'.$os.'", "'.$os.'", "'.$date.'")');
              
              mysql_close();
    ?>
    


    Merci de votre aide, c'est urgent ! ^^
    • Partager sur Facebook
    • Partager sur Twitter
      21 juillet 2009 à 8:12:51

      Rajoute les "or die(mysql_error());" dans ton code PHP après mysql_query
      (je te mets un exemple au cas où tu connais pas :)
      <?php $requestC = mysql_query('INSERT INTO materiel VALUES("", "'.$pseudo.'", "'.$navigateur.'", "'.$os.'", "'.$os.'", "'.$date.'")') OR DIE (mysql_error());?>
      • Partager sur Facebook
      • Partager sur Twitter
        21 juillet 2009 à 17:28:22

        Salut,

        je viens de le faire, le meme chose, il me donne aucune erreur !
        • Partager sur Facebook
        • Partager sur Twitter
          21 juillet 2009 à 17:34:14

          Essaye de poser un cookie avec ton script PHP sur ton PC ou alors d'une autre manière, pour que tu puisses voir si ta page est bien appelé par AJAX
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            21 juillet 2009 à 17:35:34

            Je peux moyennement aider... Le script en js dois donner quoi? Il doit interagire pour quoi avec php?

            Car à ma connaissance, on peut déjà pas lier php et js en même temps(sauf echo...)...

            Je vais revoir ton code...

            EDIT: c'est quoi cest nom de variables?! ($_SERVER['HTTP_X_FORWARDED_FOR'])...
            • Partager sur Facebook
            • Partager sur Twitter
              21 juillet 2009 à 17:47:02

              Citation : Manulion

              Je peux moyennement aider... Le script en js dois donner quoi? Il doit interagire pour quoi avec php?

              Car à ma connaissance, on peut déjà pas lier php et js en même temps(sauf echo...)...

              Je vais revoir ton code...

              EDIT: c'est quoi cest nom de variables?! ($_SERVER['HTTP_X_FORWARDED_FOR'])...



              Salut,

              Je récupère des variables en JS, et je les envoie au PHP via AJAX, l'objet XLMHttpRequest. Et PHP les enregistre dans la bd d'InterUser.

              Pour cette variable ($_SERVER['HTTP_X_FORWARDED_FOR']), je vérifie si le visiteur est sous un proxy ou non pour récuperer son ip.

              Savant, hein ? :soleil:

              Lol...


              Bref je vais essayer le cookie.


              EDIT : j'ai créé un cookie en faisant comme ça :
              <?php
              $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
              setcookie('InterUser', 'request', $timestamp_expire); // On écrit un cookie
              

              Ce code est sur la page request.php, mis tout au début, avant le moindre code. Aucun résultat.


              Donc ma page PHP, n'est pas trouvé ou pas appelée... Revoicile l'objet XML...

              var xhr = null; // on créé notre objet XHR, selon les navigateur pour qu'il marche bien partout .
              
              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();
              				xhr.onreadystatechange = function() {
              					if (xhr.readyState == (1 || 2 || 3 )) {
              						// Ici met ce que tu veux, c'est le chargement, par exemple une image va sur AJAX-loader pour en trouver
              					} 
              					if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
              						 // La c'est que le chargement est finis fait ce que tu veux aussi 
              					}
              					
              				}
              				xhr.open("POST","request.php", true); // Tu devras récupérer les variables en $_POST
              				xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
              				xhr.send(); // et on envoie tout les données à ta page PHP 
              		}
              } else {
              		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
              		return null;
              }
              


              request.php se trouve bien dans le même dossier que logo.js !
              Je ne comprend pas.. Une solution ? o_O

              a++
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                21 juillet 2009 à 17:54:58

                trop savant... lol
                • Partager sur Facebook
                • Partager sur Twitter
                  21 juillet 2009 à 17:59:39

                  Quelqu'un aurait une solution ?
                  Le pb vient lors de l'appel de la page de traitement PHP, request.php...

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 juillet 2009 à 18:38:28

                    Il faut être dans le même dossier que la page appelante et non le code appelant. Est ce que la page que tu appelle est dans le meme dossier que la page appelante ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 juillet 2009 à 18:49:05

                      logo.js et request.php sont dans le même dossier, le dossier js, http://interuser.fr/js

                      Mais c'est pour les appeler que je ne sait pas trop.

                      Pour le script que le membre place sur son site, pas de problème, il faut faire

                      <script src="http://interuser.fr/js/logo.js" language="javascript"></script>

                      Par contre, sur logo.js, quand j'appelle la page PHP, faut-il faire http://interuser.fr/js/request.php, ou directement request.php ?

                      Et sur la page de traitement PHP, pour la connexion à la bd, http://interuser.fr/includes/connexion_db.php ou directement ../includes/connexion_db.php ?

                      Merci ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 juillet 2009 à 18:55:49

                        Je viens de te dire la page APPELANTE !
                        Le fichier html, php, ce que tu veux mais tu prend la page ou tu es, tu remplace dans l'url ta page par request.php et faut que tu tombe dessus, sinon, ca marche pas !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 juillet 2009 à 18:58:35

                          Je ne comprend, soit plus clair stp. Faut-il que logo.js et request.js soient dans le même dossier ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 juillet 2009 à 19:03:47

                            La page, le truc ou ca s'affiche tout ca.
                            L'adresse que tu met dans ton url pour executer le script.
                            Jpeux pas faire plus clair la !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 juillet 2009 à 19:05:24

                              Désolé je comprend pas ! Faut-il que les 2 pages soient dans le même dossier oui ou non ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                21 juillet 2009 à 19:09:01

                                Ou est ce que ton code js est exécute ?!!!
                                Comment l'exécutes tu ?!!
                                Ou est ce qu'il est inclus ?!
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  21 juillet 2009 à 19:11:30

                                  Pour faire le test du script avant de le proposer au public, j'ai mis ce code sur ma page index.php, mais il n'est pas entre les balises <head> et </head>. (faut-il le faire)

                                  <script scr="http://interuser.fr/js/logo.js" langae...></script>

                                  et dans le dossier js il y a logo.js, le script qui transmet les variables au PHP, et la page PHP est aussi dans le dossier js.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    21 juillet 2009 à 19:58:35

                                    Bon beh voila, il faut que ta page d'appel soit dans le meme dossier que ta page index.php !
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      21 juillet 2009 à 20:02:33

                                      Ok je teste mais je comprend pas pourquoi..

                                      EDIT : ça ne marche toujours pas. regarde mes pages.

                                      La page test.html, qui appelle le script

                                      <!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">
                                      <head>
                                      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                                      <title>Enregistrement de statistiques - test</title>
                                      </head>
                                      <body>
                                      
                                      <!-- InterUser -->
                                      <script src="http://interuser.fr/logo.js" type="text/javascript">
                                      </script>
                                      <noscript>
                                      Votre navigateur doit accepter le JavaScript ! Vous pouvez le configurer dans ses paramètres.
                                      </noscript>
                                      <!-- Fin de tag -->
                                      
                                      </body>
                                      </html>
                                      


                                      Le script en JS, logo.js

                                      /*************************************************
                                      * On récupère les arguments de la page en cours
                                      * ainsi que son URL 
                                      ***************************************************/
                                      	var url = document.location.href; // On récupère l'URL .
                                      	var data = "" // On initialise notre variable qui contiendra tout les arguments .
                                      	var argument = url.split("?"); // On récupère le premier paramètre, notre chaine sera coupé en deux .
                                      	if (typeof(argument[1]) != 'undefined') {
                                      		data = argument[1]; // On met tout nos argument dans data .
                                      	}
                                      	 url = argument[0] // Puis on met l'URL de base dans notre variable URL . 
                                      	// note : data contiendra à la fin tout nos argument à passer à la page PHP
                                      	 
                                      /*******************************************************
                                      * On récupère la date 
                                      ********************************************************/
                                      	var date = new Date();
                                      	var annee = date.getFullYear(); // L'année sur 4 chiffre .
                                      	var mois =  date.getMonth(); // Le mois
                                      	var jourNom =  date.getDay(); // Le nom du jour, 0 = Dimanche 1 = Lundi ....
                                      	var jour =  date.getDate(); // Le jour, va de 1 à 31 
                                      	var heure =  date.getHours(); // les heures
                                      	var minutes =  date.getMinutes(); // Les minutes 
                                      	var seconde =  date.getSeconds(); // Les secondes
                                      	var dateVoulue = annee + "-" + mois + "-" + jour + " " + heure + ":" + minutes + ":" + seconde; // On créé la date voulue
                                      	if (data == "") { // Alors elle est vide donc on avait aucun paramètre à la base sur la page actuelle
                                      		data = "?date=" + dateVoulue; // Alors on ajoute le "?"
                                      	}
                                      	else { // Sinon on continue la chaine avec les &
                                      		data  = data + "&date=" + dateVoulue; // On insère la date dans notre variable data qui enverra sa à la page PHP
                                      	}
                                      
                                      
                                      /*******************************************************
                                      * On va récupérer le site d'ou il vient maintenant : 
                                      ********************************************************/
                                      	var referer = window.referer; // On récupère le referer
                                      	data = data + "&referer=" + referer; // Si referer = undefined, c'est qu'il a directement entré l'URL ou qu'en aucun cas il n'a été dirigé par un site ici 
                                      
                                      /*******************************************************
                                      * L'ip n'est pas récupérable via Javasrcipt .
                                      ********************************************************/
                                      
                                      
                                      
                                      /*******************************************************
                                      * On récupère le navigateur : 
                                      ********************************************************/
                                      	var navigateur = navigator.appCodeName; // Le nom de code du navigateur
                                      	var versionNav = navigator.appVersion; // La version du navigateur 
                                      	data = data + "&navigateur=" + navigateur + "&navigateurVersion=" + versionNav;
                                      
                                      /*******************************************************
                                      * On récupère l'OS : 
                                      ********************************************************/
                                      // On test les diffents choix pour avoir le bon OS, tous ne sont pas répertorié ici, seulement les plus courants 
                                      /*if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
                                      if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
                                      if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
                                      if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
                                      
                                      data = data + "&os=" + OSName;*/
                                      /*******************************************************
                                      * L'hôte n'est récupérable que via PHP 
                                      *
                                      ********************************************************/
                                      
                                      /*******************************************************
                                      * Envoie de la requête AJAX 
                                      ********************************************************/
                                      
                                      var xhr = null; // on créé notre objet XHR, selon les navigateur pour qu'il marche bien partout .
                                      
                                      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();
                                      				xhr.onreadystatechange = function() {
                                      					if (xhr.readyState == (1 || 2 || 3 )) {
                                      						// Ici met ce que tu veux, c'est le chargement, par exemple une image va sur AJAX-loader pour en trouver
                                      					} 
                                      					if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                                      						 
                                      					}
                                      					
                                      				}
                                      				xhr.open("POST","http://interuser.fr/request.php", true); // Tu devras récupérer les variables en $_POST
                                      				xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                                      				xhr.send(data); // et on envoie tout les données à ta page PHP 
                                      		}
                                      } else {
                                      		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                                      		return null;
                                      }
                                      


                                      Et la page de traitement en PHP :

                                      <?php
                                      
                                      /*********************************************
                                      * On récupère toutes les variables envoyées 
                                      * par $_POST et on définit l'IP et l'hôte
                                      * ainsi que l'OS
                                      *********************************************/
                                                
                                                
                                                $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
                                                setcookie('InterUser', 'request', $timestamp_expire); // On écrit un cookie
                                      
                                                // On vérifie s'il n'est pas derrière un proxy
                                                if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                                      
                                                $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
                                      
                                                }
                                      
                                                elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
                                      
                                                $ip = $_SERVER['HTTP_CLIENT_IP'];
                                      
                                                }
                                      
                                                else {
                                      
                                                $ip = $_SERVER['REMOTE_ADDR'];
                                      
                                                }
                                      
                                                
                                                // récupération du domaine du client
                                      
                                                $host = gethostbyaddr($ip);
                                                
                                                $if(!isset($head)) {
                                                function getOS( $ua = '' )
                                      {
                                          if( ! $ua  ) $ua = $_SERVER['HTTP_USER_AGENT'];
                                          $os = 'Syst&egrave;me d&#39;exploitation inconnu';
                                          
                                          $os_arr = Array(
                                                           // -- Windows
                                                           'Windows NT 6.1'       => 'Windows Seven',
                                                           'Windows NT 6.0'       => 'Windows Vista',
                                                           'Windows NT 5.2'       => 'Windows Server 2003',
                                                           'Windows NT 5.1'       => 'Windows XP',
                                                           'Windows NT 5.0'       => 'Windows 2000',
                                                           'Windows 2000'         => 'Windows 2000',
                                                           'Windows CE'           => 'Windows Mobile',
                                                           'Win 9x 4.90'          => 'Windows Me.',
                                                           'Windows 98'           => 'Windows 98',
                                                           'Windows 95'           => 'Windows 95',
                                                           'Win95'                => 'Windows 95',
                                                           'Windows NT'           => 'Windows NT',
                                                           
                                                           // -- Linux
                                                           'Ubuntu'               => 'Linux Ubuntu',
                                                           'Fedora'               => 'Linux Fedora',
                                                           'Linux'                => 'Linux',
                                                           
                                                           // -- Mac
                                                           'Macintosh'            => 'Mac',
                                                           'Mac OS X'             => 'Mac OS X',
                                                           'Mac_PowerPC'          => 'Mac OS X',
                                                           
                                                           // -- Autres ...
                                                           'FreeBSD'              => 'FreeBSD',
                                                           'Unix'                 => 'Unix',
                                                           'Playstation portable' => 'PSP',
                                                           'OpenSolaris'          => 'SunOS',
                                                           'SunOS'                => 'SunOS',
                                                           'Nintendo Wii'         => 'Nintendo Wii',
                                                           'Mac'                  => 'Mac',
                                                         );
                                          
                                                $ua = strtolower( $ua ); 
                                                foreach( $os_arr as $k => $v )
                                                {
                                                    if( ereg( strtolower( $k ), $ua ) )
                                                    {
                                                        $os = $v;
                                                        break;
                                                    }
                                                }
                                                return $os;
                                            }
                                            }
                                            
                                                $page_courante = $_POST['url'];
                                                $urlsite = $_POST['url'];
                                                $date = $_POST['date'];
                                                $referer = $_POST['referer'];
                                                $navigateur = $_POST['navigateur'] . $_POST['navigateurVersion'];
                                                $os = getOS($_SERVER['HTTP_USER_AGENT']);
                                                $sessid = $_REQUEST['PHPSESSID'];
                                                
                                      /*********************************************
                                      * On se connecte à la bd et on cherche à quel 
                                      * pseudo correspond l'URL répertoriée	 
                                      *********************************************/
                                                include("./includes/connexion_db.php");
                                                
                                                $requestA = mysql_query('SELECT pseudo, nomsite FROM membres WHERE urlsite = "'. $urlsite .'"') or die('Erreur SQL Requête A : '.mysql_error());;
                                                $dataA = mysql_fetch_array($requestA);
                                                $pseudo = $dataA['pseudo'];
                                                
                                      /*********************************************
                                      * On enregistre les données dans la bd et 
                                      * fermeture de la connexion à la bd
                                      *********************************************/
                                                $requestB = mysql_query('INSERT INTO infos_visiteur VALUES("", "'.$pseudo.'", "'.$page_courante.'", "'.$ip.'", "'.$host.'", "'.$referer.'", "'.$date.'", "'.$sessid.'")') or die('Erreur SQL Requête B : '.mysql_error());;
                                                
                                                $requestC = mysql_query('INSERT INTO materiel VALUES("", "'.$pseudo.'", "'.$navigateur.'", "'.$os.'", "'.$os.'", "'.$date.'")') or die('Erreur SQL Requête C : '.mysql_error());;
                                                
                                                mysql_close();
                                      ?>
                                      



                                      Y a -t- il des erreurs ?
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        21 juillet 2009 à 20:15:21

                                        Parce que c'est a partir de la page d'ou tu es que le script appelle la page, on s'en fiche de qu'est ce que tu utilise pour l'appeller.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          21 juillet 2009 à 20:18:38

                                          Les 3 pages sont dans le même dossier, à la racine du site.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            21 juillet 2009 à 20:21:17

                                            Bon, beh sois tu prend firebug si ta FF et tu test dans la console voir ce que ca donne. Soit tu envoie le lien de ta page et je vérifie ca.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              21 juillet 2009 à 20:28:27

                                              Enleve le return null a la toute fin du js.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                21 juillet 2009 à 20:29:33

                                                c'est fait, et uploadé sur le serveur interuser.fr

                                                Tu peux retester, mais j'ai l'impression que ça ne marche toujours pas, le cookie n'est pas créé... :(
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  21 juillet 2009 à 20:55:04

                                                  Il faut pas de ? au début de data !
                                                  Et il me dit erreur de parsage ligne 34 dans request.php
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    21 juillet 2009 à 20:57:36

                                                    Ok c'est bon problèmes résolues et uploadés sur le serveur. Tu peux Retester...

                                                    ;)

                                                    EDIT : Bon, la cookie est crée, ce qui veux dire que le script a bien appelé ma page, mais il n'y a toujours aucun enregistrement dans la table infos_visiteurs et matériel...

                                                    Comment je fais ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      21 juillet 2009 à 21:05:33

                                                      Les identifiants de connexion à la bdd sont erronés ;) .
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        21 juillet 2009 à 21:07:56

                                                        Donc ça veux dire qu'il n'a pas trouvé connexion_db.php...

                                                        2s je vais voir

                                                        Je crois que c'est bon... tu peux retester. ;)


                                                        Ça ne marche toujours pas, rien dans ma table... o_O
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          21 juillet 2009 à 21:27:50

                                                          C'est ta requête PHP qui bug . Sinon oui ^^, le "?" était à enlevé petit oublie :honte: .
                                                          Regarde ici :$requestA = mysql_query('SELECT pseudo, nomsite FROM membres WHERE urlsite = "'. $urlsite .'"') or die('Erreur SQL Requête A : '.mysql_error());;
                                                          tu as deux ";" enlève en un ^^

                                                          EDIT : o_O tu as deux ";" à chacune de tes requête, et comme AJAX ne réaffiche rien tu as aucune érreur . Vire moi tout ces ";" en trop à tes requêtes et ton site devrait péter le feu :D
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Script qui plante

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown