Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema Ajax-php

  1. #1

    Problema Ajax-php

    Salve a tutti,
    il mio obbiettivo è quello di leggere il valore di 5 input=text inviarli a una pagina php che li stamperà nel db e inizializzare le text rendendole vuote. Anche se a me sembra corretto questo codice c'è qualcosa che non va..qualcuno potrebbe aiutarmi?

    codice:
    <input type="text" name="numero1" id="numero1" class="textbox">
    <input type="text" name="numero2" id="numero2" class="textbox">
    <input type="text" name="numero3" id="numero3" class="textbox">
    <input type="text" name="numero4" id="numero4" class="textbox">
    <input type="text" name="numero5" id="numero5" class="textbox">
    
    Registra
    codice:
    <script language="javascript">
    			<!-- // Get the HTTP Object
    			function getHTTPObject(){
    			   if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
    			   else if (window.XMLHttpRequest) return new XMLHttpRequest();
    			   else {
    				  alert("Your browser does not support AJAX.");
    				  return null;
    			   }
    			}   
     
    			// Change the value of the outputText field
    			function setOutput(){
    				if(httpObject.readyState == 4){
    					document.getElementById('numero1').value = httpObject.responseText;/*
    					document.getElementById('numero2').value = httpObject.responseText;
    					document.getElementById('numero3').value = httpObject.responseText;
    					document.getElementById('numero4').value = httpObject.responseText;
    					document.getElementById('numero5').value = httpObject.responseText;*/
    				}
    			 
    			}
    			 
    			// Implement business logic//-->     
    			function doWork(){    
    				httpObject = getHTTPObject();
    				if (httpObject != null) {
    					httpObject.open("GET", "components/com_jumi/files/elabora.php?inputText="
    									+document.getElementById('numero1').value, true);
    					httpObject.open("GET", "components/com_jumi/files/elabora.php?inputText="
    									+document.getElementById('numero2').value, true);
    					httpObject.open("GET", "components/com_jumi/files/elabora.php?inputText="
    									+document.getElementById('numero3').value, true);
    					httpObject.open("GET", "components/com_jumi/files/elabora.php?inputText="
    									+document.getElementById('numero4').value, true);
    					httpObject.open("GET", "components/com_jumi/files/elabora.php?inputText="
    									+document.getElementById('numero5').value, true);
    					httpObject.send(null); 
    					httpObject.onreadystatechange = setOutput;
    				}
    			}
    			 
    			var httpObject = null;
    			 
    			/*      0 = uninitialized
    					1 = loading
    					2 = loaded
    					3 = interactive
    					4 = complete   */
    			
    </script>
    Codice PHP:
    <?php 
        $numero1
    =$_GET['numero1'];
        
    $numero2=$_GET['numero2'];
        
    $numero3=$_GET['numero3'];
        
    $numero4=$_GET['numero4'];
        
    $numero5=$_GET['numero5'];
               
        
    $db_host "*****"
        
    $db_user "*****"
        
    $db_password "******"
        
    $db_name "******";                   
                
    $db mysql_connect($db_host$db_user$db_password);
                      
    mysql_select_db($db_name$db);

            
    mysql_query("INSERT INTO RegistrazioneSchedine(numero1, numero2, numero3, numero4, numero5) 
                         VALUE (
    $numero1$numero2$numero3$numero4$numero5)");
                        
        
    mysql_close($db); 
               
        if (isset(
    $_GET['numero1'])) 
               echo 
    '';       
               
        if (isset(
    $_GET['numero2'])) 
               echo 
    '';
               
        if (isset(
    $_GET['numero3'])) 
               echo 
    '';
              
        if (isset(
    $_GET['numero4'])) 
               echo 
    '';
               
        if (isset(
    $_GET['numero5'])) 
               echo 
    '';
    ?>

  2. #2
    La parte javascript e la parte php non corrispondono

    Codice PHP:
                function doWork(){    
                    
    httpObject getHTTPObject();
                    if (
    httpObject != null) {
                        
    httpObject.open("GET""components/com_jumi/files/elabora.php?inputText="
                                        
    +document.getElementById('numero1').valuetrue);
                        
    httpObject.open("GET""components/com_jumi/files/elabora.php?inputText="
                                        
    +document.getElementById('numero2').valuetrue);
                        
    httpObject.open("GET""components/com_jumi/files/elabora.php?inputText="
                                        
    +document.getElementById('numero3').valuetrue);
                        
    httpObject.open("GET""components/com_jumi/files/elabora.php?inputText="
                                        
    +document.getElementById('numero4').valuetrue);
                        
    httpObject.open("GET""components/com_jumi/files/elabora.php?inputText="
                                        
    +document.getElementById('numero5').valuetrue);
                        
    httpObject.send(null); 
                        
    httpObject.onreadystatechange setOutput;
                    }
                } 
    Codice PHP:
        $numero1=$_GET['numero1'];
        
    $numero2=$_GET['numero2'];
        
    $numero3=$_GET['numero3'];
        
    $numero4=$_GET['numero4'];
        
    $numero5=$_GET['numero5']; 
    In javascript fai 5 chiamate get passando a elabora.php inputText=valore.....
    quando invece php si aspetta numero1 e cosi via.

    Per prima cosa devi usare lo stesso nome di parametro nella query string; come seconda cosa devi usare la concatenazione in javascript per fare una sola chiamata get usando tutti e 5 i parametri in una volta sola

    Codice PHP:
    httpObject.open("GET""components/com_jumi/files/elabora.php"
    +"?numero1="+document.getElementById('numero1').valuetrue)
    +
    "&numero2="+document.getElementById('numero2').valuetrue)
    +
    "&numero3="+document.getElementById('numero3').valuetrue)
    +
    "&numero4="+document.getElementById('numero4').valuetrue)
    +
    "&numero5="+document.getElementById('numero5').valuetrue

    Nota che la prima concatenazione qui l' ho messa solo per indentare il codice; non so se e' corretta la sintassi, forse dopo ogni parentesi ci va il punto e virgola, vedi tu cosa dice l' interprete javascript.
    Nella vita c'e' sempre da imparare, c'e' chi impara a fare e chi impara ad aspettare.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.