Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Ajax]Non invia variabili alla pagina PHP

    Ciao a tutti

    E' la prima volta che cerco di usare AJAX e avendo ben poche basi di javascript potrei avere commesso un errore assolutamente di base ^^''
    Il problema, sinteticamente, è che il codice (che dovrebbe inviare delle variabili da javascript e php) non funziona...

    codice:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <script type="text/javascript">
    function createRequestObject() {
    	var ro;
    	var browser = navigator.appName;
    	if(browser == "Microsoft Internet Explorer"){
    		ro = new ActiveXObject("Microsoft.XMLHTTP");
    	}else{
    		ro = new XMLHttpRequest();
    	}
    	return ro;
    }
    
    var http = createRequestObject();
    
    function sndReq() {
    var username = document.form1.username.value;
    var password = document.form1.password.value;
    
    //controllo che il modulo sia pieno
    if (username != "" & password != "")
    {
    var altezza = window.screen.height;
    var larghezza = window.screen.width;
    var risoluzione = larghezza+'X'+altezza;
    var browser = navigator.appName;
    var sistema = navigator.userAgent;
    var indirizzo = 'login_informazioni.php?browser='+browser+'&risoluzione='+risoluzione+'&sistema='+sistema+'&username='+username+'&password='+password;
    	http.open('get', indirizzo);
    	http.onreadystatechange = handleResponse;
    	http.send(null);
    }
    }
    
    function handleResponse() {
    	if(http.readyState == 4){
    		var response = http.responseText;
    		//0 tutto ok, 1 errore
    		if(response == 0)
    		{
    		alert (response);
    		}
    		else
    		{
    		alert ("E' incorso un errore.");
    		}
    				}
    }
    
    </script>
    </head>
    
    <body>
    <form id="form1" name="form1" method="post" action="login2.php" onSubmit="javascript:sndReq(this);" >
      <table width="100%" border="0">
        <tr>
          <td width="50%">Username:</td>
          <td width="50%"><label>
            <input name="username" type="text" id="username" />
          </label></td>
        </tr>
        <tr>
          <td width="50%">Password:</td>
          <td width="50%"><input name="password" type="password" id="password" /></td>
        </tr>
      </table>
      <p align="center">
        <label>
        <input type="submit" name="Submit" value="Invia"/>
        </label>
        <label>
        <input type="reset" name="Submit2" value="Ripristina" />
        </label>
      </p>
    </form>
    </body>
    </html>
    La pagina login_informazioni.php è fatta invece così:

    Codice PHP:
    <?
    include("connetti.php");
    $username $_REQUEST['username'];
    $password $_REQUEST['password'];
    $browser $_REQUEST['browser'];
    $sistema $_REQUEST['sistema'];
    $risoluzione $_REQUEST['risoluzione'];
    $ip getenv("REMOTE_ADDR");
    $errore 0;

    [
    inserisce queste informazioni nel database]

    echo 
    "$errore";
    ?>
    Come alert alla fine mi risulta che response è una variabile vuota. Inoltre neanche le informazioni (browser, risoluzione, etc.) vengono inserite nel database (ma la pagina php non ha errori, ho controllato)

  2. #2
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697

    Re: [Ajax]Non invia variabili alla pagina PHP

    Originariamente inviato da chiamatekatia
    Ciao a tutti

    E' la prima volta che cerco di usare AJAX e avendo ben poche basi di javascript potrei avere commesso un errore assolutamente di base ^^''
    Il problema, sinteticamente, è che il codice (che dovrebbe inviare delle variabili da javascript e php) non funziona...

    codice:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <script type="text/javascript">
    function createRequestObject() {
    	var ro;
    	var browser = navigator.appName;
    	if(browser == "Microsoft Internet Explorer"){
    		ro = new ActiveXObject("Microsoft.XMLHTTP");
    	}else{
    		ro = new XMLHttpRequest();
    	}
    	return ro;
    }
    
    var http = createRequestObject();
    
    function sndReq() {
    var username = document.form1.username.value;
    var password = document.form1.password.value;
    
    //controllo che il modulo sia pieno
    if (username != "" & password != "")
    {
    var altezza = window.screen.height;
    var larghezza = window.screen.width;
    var risoluzione = larghezza+'X'+altezza;
    var browser = navigator.appName;
    var sistema = navigator.userAgent;
    var indirizzo = 'login_informazioni.php?browser='+browser+'&risoluzione='+risoluzione+'&sistema='+sistema+'&username='+username+'&password='+password;
    	http.open('get', indirizzo);
    	http.onreadystatechange = handleResponse;
    	http.send(null);
    }
    }
    
    function handleResponse() {
    	if(http.readyState == 4){
    		var response = http.responseText;
    		//0 tutto ok, 1 errore
    		if(response == 0)
    		{
    		alert (response);
    		}
    		else
    		{
    		alert ("E' incorso un errore.");
    		}
    				}
    }
    
    </script>
    </head>
    
    <body>
    <form id="form1" name="form1" method="post" action="login2.php" onSubmit="javascript:sndReq(this);" >
      <table width="100%" border="0">
        <tr>
          <td width="50%">Username:</td>
          <td width="50%"><label>
            <input name="username" type="text" id="username" />
          </label></td>
        </tr>
        <tr>
          <td width="50%">Password:</td>
          <td width="50%"><input name="password" type="password" id="password" /></td>
        </tr>
      </table>
      <p align="center">
        <label>
        <input type="submit" name="Submit" value="Invia"/>
        </label>
        <label>
        <input type="reset" name="Submit2" value="Ripristina" />
        </label>
      </p>
    </form>
    </body>
    </html>
    La pagina login_informazioni.php è fatta invece così:

    Codice PHP:
    <?
    include("connetti.php");
    $username $_REQUEST['username'];
    $password $_REQUEST['password'];
    $browser $_REQUEST['browser'];
    $sistema $_REQUEST['sistema'];
    $risoluzione $_REQUEST['risoluzione'];
    $ip getenv("REMOTE_ADDR");
    $errore 0;

    [
    inserisce queste informazioni nel database]

    echo 
    "$errore";
    ?>
    Come alert alla fine mi risulta che response è una variabile vuota. Inoltre neanche le informazioni (browser, risoluzione, etc.) vengono inserite nel database (ma la pagina php non ha errori, ho controllato)
    Non so se è questo ...onSubmit="java-script:sndReq(this);"
    mettilo cosi ...onSubmit="return sndReq(this);"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.