Pagina 2 di 5 PrimoPrimo 1234 ... UltimoUltimo
Visualizzazione risultati 31 fino 60 di 127
Like Tree3Likes

Discussione: domanda stupida o intelligente ????

  1. #31
    Guest

    Predefinito

    Citazione Originalmente inviato da NLSweb Visualizza messaggio
    Allora.., stai provando con un campo solo..
    .. gli errori che vedo sono :

    il DIV controllo con la relativa IMG non c'è ! post#6
    quindi non visualizzi nessuna immagine

    Usando xmlhttp.open("GET","checkdati.php?ID="+id,true); non c'è bisogno di <form action="checkdate.php" method="post" id="contatti"> , lascia solo il campo input.
    di cui...
    <input type ="text" id="cognome" name="cognome" change="input" maxlenght ="15" >

    non capisco ... change="input" ..... che serve ? non credo che sia un attributo valido..

    in checkdati.php , hai una tabella chiamata uty ed il nome del campo che cerchi è campo ?
    perchè dove c'è scritto campo :
    $query = "SELECT * FROM uty WHERE `campo`=\"".$ID."\"";
    ...
    $risultato = $row['campo'];

    dovresti inserire il nome del campo che contiene il cognome che stai cercando..
    (esempio DB: ID nome cognome indirizzo , ecc. -> nome del campo cognome sara cognome)

    Allora ho corretto le ndicazioni da te seganaltomi, per quanto riguarda le immagini avevo scelto un altro tipo di segno un po' più piccolo. Ecco perkè non si vede probabilmente.

  2. #32
    Guest

    Predefinito Problemi di allineamento css

    Ciao NLSweb,


    Allora ho fatto le modifiche dovute ma non è cambiato molto. Probabilmente c'è un qualcosa che non va slla struttura dei tasti quando si digita. Questo è quello che ho fatto:

    checkdati.php


    Codice PHP:

    <?php

    require_once("connettimysqli");

    $ID = $_GET['ID'];

    $query = "SELECT * FROM uty WHERE `cognome`=\"".$ID."\"";

    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    $risultato = $row['cognome'];
    }

    if(
    $risultato===$ID){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>

    iscrizione.php


    Codice PHP:

    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function(){
    $("#controllo").hide();
    $("input").keyup(function(){
    controlla();
    });
    });

    function controlla(){
    var valore = $("input").val();
    loadXMLDoc(valore);
    }

    function loadXMLDoc(id)
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    if (risposta=="VERO"){
    $("#controllo img").attr("src","available.png");
    }else{
    $("#controllo img").attr("src","not-available.png");
    }
    $("#controllo").show();
    }
    }

    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();

    * AJAX = Asynchronous JavaScript and XML */

    function loadXMLDoc(id)
    {
    /* questa prima parte della funzione apre la comunicazione con il server in background , senza dover riaggiornare la pagina */

    var xmlhttp;
    if (window.XMLHttpRequest)
    {// codice per le nuove versioni di browser che hanno XMLHttpRequest integrato IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// codice per le vecchie versioni di browser IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    /* qui catturiamo l'evento di quando il readyState cambia */
    /* 0: richiesta non inizializzata */
    /* 1: connessione con il server attivata */
    /* 2: il server ha ricevuto la richiesta */
    /* 3: il server sta eseguendo la richiesta [query] */
    /* 4: il server ha finito e la risposta e' pronta ! */
    /* mentre lo STATUS e' lo stato della pagina , cioe' : 200: "OK" 404: Page not found */

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    /* qui si inserisce la risposta dal server (quindi l'informazione che abbiamo chiesto al nostro file php */
    /* di prendere dal DataBase , e la si passa al nostro elemento (in questo caso un div) */
    /* da notare che abbiamo richiesto una stringa come risposta , questo perche' non stiamo usando un file XML */
    /* altrimenti avremmo dovuto usare responseXML */
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
    }

    /* qui apri il file dettaglio.php a cui passi la richiesta id e imposti il parametro asincrono=true */
    /* l'importanza di avere una comunicazione asincrona e' che JS non deve aspettare la risposta del server */
    /* ma puo' continuare ad eseguire il codice ed eventualmente a ritardare la risposta in attesa del server */
    /* in questo modo non si creano "colli di bottiglia" , ovvero rallentamenti dovuti a lunghe attese */
    /* chiaramente se si imposta asincrono=false (quindi sincrono) JS fermera' l'esecuzione del codice fino a */
    /* quando il server non gli avra' fornito la risposta .. */

    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();

    /* da notare che AJAX puo' usare sia ASP che PHP */
    }

    </script>
    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:0px;
    height:100px;
    position:absolute;
    text-align:center;
    width:1000px;

    }
    table{
    border:1px solid black;
    }
    </style>
    </head>
    <body>
    <header>

    <div id="Titolo"><h2>Prova inserimento campi</h2> </div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <!-- inizio inserimento campi per processarli con ajax -->
    <div>
    <label for="cognome">Cognome: <input type ="text" id="cognome" name="cognome" maxlenght ="15" ></label>

    <div id="controllo"><img src="" /></div>
    <p>
    </div>



    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");



    ?>
    </body>
    </html>
    Un altro dubbio. Ho unito bene i due script in uno ???? Quello della connessione aijax e quello della verifica ??? Grazie.

  3. #33
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Il file PHP checkdati sembra OK

    mentre il resto del codice si sono ancora dei problemi..

    hai sistemato correttamente il div controllo e il tag input ed hai rimosso il form che non serviva

    ma hai modificato l'evento della funzione di controllo
    $("input").keyup(function(){
    controlla();
    });

    ed hai ripetuto due volte la funzione AJAX ??!!

    ................

    come prima cosa leva la doppia funzione AJAX lansciando solo la prima delle due
    poi ripristina l'evento della funzione di controllo
    $("input").change(function(){
    controlla();
    });

  4. #34
    Guest

    Predefinito domanda stupida o intelligente ????

    Ciao NLSweb,

    Sono tornato sui miei passi e ho corretto quello che c'era da correggere questo dovrebbe essere esatto ora:

    Codice PHP:


    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function(){
    $("#controllo").hide();
    $("input").change(function(){
    controlla();
    });
    });

    function controlla(){
    var valore = $("input").val();
    loadXMLDoc(valore);
    }

    function loadXMLDoc(id)
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    if (risposta=="VERO"){
    $("#controllo img").attr("src","available.png");
    }else{
    $("#controllo img").attr("src","not-available.png");
    }
    $("#controllo").show();
    }
    }

    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();

    * AJAX = Asynchronous JavaScript and XML */

    function loadXMLDoc(id)
    {
    /* questa prima parte della funzione apre la comunicazione con il server in background , senza dover riaggiornare la pagina */

    var xmlhttp;
    if (window.XMLHttpRequest)
    {// codice per le nuove versioni di browser che hanno XMLHttpRequest integrato IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// codice per le vecchie versioni di browser IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    /* qui catturiamo l'evento di quando il readyState cambia */
    /* 0: richiesta non inizializzata */
    /* 1: connessione con il server attivata */
    /* 2: il server ha ricevuto la richiesta */
    /* 3: il server sta eseguendo la richiesta [query] */
    /* 4: il server ha finito e la risposta e' pronta ! */
    /* mentre lo STATUS e' lo stato della pagina , cioe' : 200: "OK" 404: Page not found */

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    /* qui si inserisce la risposta dal server (quindi l'informazione che abbiamo chiesto al nostro file php */
    /* di prendere dal DataBase , e la si passa al nostro elemento (in questo caso un div) */
    /* da notare che abbiamo richiesto una stringa come risposta , questo perche' non stiamo usando un file XML */
    /* altrimenti avremmo dovuto usare responseXML */
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
    }

    /* qui apri il file dettaglio.php a cui passi la richiesta id e imposti il parametro asincrono=true */
    /* l'importanza di avere una comunicazione asincrona e' che JS non deve aspettare la risposta del server */
    /* ma puo' continuare ad eseguire il codice ed eventualmente a ritardare la risposta in attesa del server */
    /* in questo modo non si creano "colli di bottiglia" , ovvero rallentamenti dovuti a lunghe attese */
    /* chiaramente se si imposta asincrono=false (quindi sincrono) JS fermera' l'esecuzione del codice fino a */
    /* quando il server non gli avra' fornito la risposta .. */

    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();

    /* da notare che AJAX puo' usare sia ASP che PHP */
    }
    </script>
    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:0;
    height:100px;
    position:absolute;
    width:100%;
    text-align:center;
    overflow: auto; /*important*/

    }
    table{
    border:1px solid black;
    }
    </style>
    </head>
    <body>
    <header>

    <div id="Titolo"><h2>Prova inserimento campi</h2> </div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <!-- inizio inserimento campi per processarli con ajax -->

    <div>
    <label for="cognome">Cognome: <input type ="text" id="cognome" name="cognome" maxlenght ="15" ></label>

    <input id="Input" type="text" />
    <div id="controllo"><img src="" /></div>
    <p>

    </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");



    ?>
    </body>
    </html>
    Per favore dimmi se è tutto corretto.
    Ultima modifica di magnare : 01-09-2014 alle ore 16.38.39

  5. #35
    Guest

    Predefinito

    Ciao NLSweb,

    Ho eseguito tutto come mi hai detto te ma non mi funziona niente. Non so il perkè. Sono un po' avvilito perchè non sono riuscito nemmeno con te a raggiungere l'intento :( Bah.

  6. #36
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    il codice da te riportato ha ancora DUE funzioni AJAX !! .. e ci sono anche altri piccoli errori ...

    copio ed incollo il codice da te postato e lo correggo .... prova così ..

    Codice PHP:
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    <script>
    $(document).ready(function(){
    $("#controllo").hide();
    $("input").change(function(){
    controlla();
    });
    });

    function controlla(){
    var valore = $("input").val();
    loadXMLDoc(valore);
    }

    function loadXMLDoc(id)
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    if (risposta=="VERO"){
    $("#controllo img").attr("src","available.png");
    }else{
    $("#controllo img").attr("src","not-available.png");
    }
    $("#controllo").show();
    }
    }

    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();
    }
    </script>

    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:0;
    height:100px;
    position:absolute;
    width:100%;
    text-align:center;
    overflow: auto; /*important*/

    }
    table{
    border:1px solid black;
    }
    </style>
    </head>

    <body>
    <header>
    <div id="Titolo"><h2>Prova inserimento campi</h2></div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <div>
    <label for="cognome">Cognome: <input type ="text" id="cognome" name="cognome" maxlenght ="15" ></label>
    <div id="controllo"><img src="" />
    </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");

    ?>

    </body>
    </html>

  7. #37
    Guest

    Predefinito

    Ciao NLSweb,

    Allora ci siamo quasi. Ho provato a digitare un cognome che già avevo nel db e mi è comparsa subito la "X" come volevo, solo anzicchè a fianco del campo sotto. Ma quello penso basta sistemarlo. Poi la data non so il perchè si è spostata da sopra è passata sotto subito dopo il campo "cognome". Però se io metto un altro cognome mi compare sempre la "X". Un passo avanti l'abbiamo fatto grazie per merito tuo.

  8. #38
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Un po' alla volta ....
    dimmi se hai bisogno ancora di aiuto..

  9. #39
    Guest

    Predefinito

    Ciao NLSweb,



    uhmmmm mi sa di si anche perchè vorrei ampliare a tre campi per poi provare a continuare da solo. E poi bisognerebbe capire il perchè ad ogni cognome che metto mi da un esito negativo, il db ha solo due voci. Credo che vda perfezionato.
    Ultima modifica di magnare : 03-09-2014 alle ore 13.36.33

  10. #40
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Per ampliare a tre campi , dove adesso hai
    Codice:
    <div> 
    <label for="cognome">Cognome: <input type ="text" id="cognome" name="cognome"  maxlenght ="15" ></label> 
    <div id="controllo"><img src="" /></div>  
    </div>
    Modifica
    Codice:
    <div> 
    Cognome: <input type ="text" id="Input1" name="cognome"  maxlenght ="15" >
    <div id="controllo1"><img src="" /></div>  
    Nome: <input type ="text" id="Input2" name="nome"  maxlenght ="15" >
    <div id="controllo2"><img src="" /></div>  
    Indirizzo: <input type ="text" id="Input3" name="indirizzo"  maxlenght ="15" >
    <div id="controllo3"><img src="" /></div>  
    </div>
    e nello SCRIPT invece di avere solo $("#controllo").hide();
    Codice:
     for(i=1;i<4){
      var elemento = "#controllo"+i;
      $(elemento).hide();
     }
    e invece di avere solo
    Codice:
    $("input").change(function(){
      controlla();
     });
    dovrai ampliare a tutti i campi input
    Codice:
    for(i=1;i<4){
      var elemento = "#Input"+i;
      $(elemento).change(function(){
       controlla(i);
      });
     }
    Quindi la funzione controlla avra' in piu' l'argomento funzione ID che identifica il campo input
    che a sua volta passera' al codice AJAX insieme al valore del campo stesso
    Codice:
    function controlla(ID){
     var elemento = "#Input"+ID;
     var valore = $(elemento).val();
     loadXMLDoc(valore,ID);
    }
    La funzione AJAX avra' adesso due argomenti ID e Valore
    Codice:
    function loadXMLDoc(valore,id)
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
         var risposta = xmlhttp.responseText;
         risposta = risposta.substr(1, risposta.length-2);
         var elemento = "#controllo"+id+" img":
         if (risposta=="VERO"){
          $(elemento).attr("src","available.png");
         }else{
          $(elemento).attr("src","not-available.png");
         }
         $("#controllo").show();
        }
      }
    
    switch(id){
     case 1:
      xmlhttp.open("GET","checkCOGNOME.php?ID="+valore,true); 
     break;
     case 2:
      xmlhttp.open("GET","checkNOME.php?ID="+valore,true); 
     break;
     case 3:
      xmlhttp.open("GET","checkINDIRIZZO.php?ID="+valore,true); 
     break;
    }
    
    xmlhttp.send();    
    }
    in questo caso ho usato uno switch che chiama il file PHP dedicato in base al ID del campo input , passandogli il valore del campo
    oppure se preferisci crei un unico file PHP a cui passi il valore e id e al suo interno diversifichi la ricerca nel DB

  11. #41
    Guest

    Predefinito

    Ciao NLSweb,

    Ora prvo l'esempio che i hai postato e spero di non avere problemi. Ma perchè nel primo campo lui qualsiasi cosa ci metto mi mette sempre una "x" come se esistesse nel db e invece non esiste ??? E le file checkdati come lod ebbo modificare ??? Grazie.

  12. #42
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Posta il file PHP cosi' posso vedere dove e' l'errore....

  13. #43
    Guest

    Predefinito domanda stupida o intelligente ????

    Ciao Ciao NLSweb,

    Questi sono i file php che mi hai chiesto. iscrizione e checkdati


    iscrizione.php

    Codice PHP:


    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:15px;
    height:100px;
    position:absolute;
    text-align:center;
    width:1000px;

    }
    table{
    border:1px solid black;
    }
    </style>
    <script>
    $(document).ready(function(){
    for(i=1;i<4){
    var elemento = "#controllo"+i;
    $(elemento).hide();
    }

    function controlla(){
    var valore = $("input").val();
    loadXMLDoc(valore);
    }

    function loadXMLDoc(id)
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    if (risposta=="VERO"){
    $("#controllo img").attr("src","available.png");
    }else{
    $("#controllo img").attr("src","not-available.png");
    }
    $("#controllo").show();
    }
    }

    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();
    }
    </script>


    </head>

    <body>
    <header>
    <div id="Titolo"><h2>Prova inserimento campi</h2></div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <div id = "div">
    Cognome: <input type ="text" id="Input1" name="cognome" maxlenght ="15" >
    <div id="controllo1"><img src="" /></div>

    <p> <p>
    Nome: <input type ="text" id="Input2" name="nome" maxlenght ="15" >
    <div id="controllo2"><img src="" /></div> </p></p>

    <p> <p>

    Indirizzo: <input type ="text" id="Input3" name="indirizzo" maxlenght ="15" >
    <div id="controllo3"><img src="" /></div> </p></p>

    </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");

    ?>

    </body>
    </html>

    checkdati.php


    Codice PHP:

    <?php

    require_once("connettimysqli.php");

    $ID = $_GET['ID'];

    $query = "SELECT * FROM uty WHERE `cognome`=\"".$ID."\"";

    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    $risultato = $row['cognome'];
    }

    if(
    $risultato===$ID){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_clo

  14. #44
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    il file iscrizione.php
    devi aggiornare la funzione controllo e la funzione ajax come ti ho suggerito nel post precedente

    per quanto riguarda il file checkdati.php va bene per solo il campo cognome , quindi ho crei tanti file quanti sono le ricerche che devi fare o inserisci uno switch ma gli devi passare come argomento ID del campo input e non solo il valore

    mi devi dire se ti va bene creare piu' file php e mettere lo switch in ajax o preferisci il contrario , quindi un solo file php con lo switch

  15. #45
    Guest

    Predefinito

    Ciao NLSweb,

    Scusami ma sono stato un giorno a letto perchè sono stato poco bene. Comunque preferisco uno swit unico in un un unico file e non suddivisi in diecimila file. E' più un problema logistico il mio che altro :P Grazie

  16. #46
    Guest

    Predefinito domanda stupida o intelligente ????

    Ciao NLSweb,


    Oggi ho finito finalmente di fare le modifiche che mi avevi detto di fare. Ti posto quello che ho fatto perchè non vorrei che ci fossero intoppi. Come già ti ho scritto preferisco avere un file unico che gestisca tutto quanto senza spezzettarli per i vari campi. Anche perchè una volta possono essere 4 una vota 5 oppure un'altra volta 10 insomma variano. L'importante è che si capisca dove bisogna mettere mano. nel senso commentarli mettendoci qua inizia il campo "cognome" poi qua iniza campo "nome" ecc.ecc. Ti posto i due file.


    checkdati.php


    Codice PHP:


    <?php

    require_once("connettimysqli.php");

    $ID = $_GET['ID'];

    $query = "SELECT * FROM uty WHERE `cognome`=\"".$ID."\"";

    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    $risultato = $row['cognome'];
    }

    if(
    $risultato===$ID){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>
    e questo è quello con le modifichet terminate adesso:

    iscrizione.php

    Codice PHP:



    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:15px;
    height:100px;
    position:absolute;
    text-align:center;
    width:1000px;

    }
    table{
    border:1px solid black;
    }
    </style>
    <script>
    $(document).ready(function(){
    for(i=1;i<4){
    var elemento = "#controllo"+i;
    $(elemento).hide();
    }

    for(i=1;i<4){
    var elemento = "#Input"+i;
    $(elemento).change(function(){
    controlla(i);
    }

    function loadXMLDoc(valore,id){
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    var elemento = "#controllo"+id+" img":
    if (risposta=="VERO"){
    $(elemento).attr("src","available.png");
    }else{
    $(elemento).attr("src","not-available.png");
    }
    $("#controllo").show();
    }
    }
    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();
    }
    </script>


    </head>

    <body>
    <header>
    <div id="Titolo"><h2>Prova inserimento campi</h2></div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <div id = "div">
    Cognome: <input type ="text" id="Input1" name="cognome" maxlenght ="15" >
    <div id="controllo1"><img src="" /></div>

    <p> <p>
    Nome: <input type ="text" id="Input2" name="nome" maxlenght ="15" >
    <div id="controllo2"><img src="" /></div> </p></p>

    <p> <p>

    Indirizzo: <input type ="text" id="Input3" name="indirizzo" maxlenght ="15" >
    <div id="controllo3"><img src="" /></div> </p></p>

    </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");

    ?>

    </body>
    </html>

    Grazi eternamente dell'aiuto. La visualizzazione della data stranamente è tornata al suo posto bah :(

  17. #47
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Ho deciso di creare un piccolo esempio funzionante con due campi ed un unico file php
    come potrai vedere quando si finisce di scrivere nel campo input e si esce viene eseguita la verifica
    che puo' impiegare qualche secondo , quindi mostra l'immagini OK o ERROR

    DEMO

    Il file HTML e' composto dagli script da me suggeriti all'inizio , ho solo fatto qualche modifica per un corretto funzionamento
    ho richiamato un unico file PHP quindi ho escluso lo switch nello script.
    Codice HTML:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
    
     /* definiamo quanti campi input sono presenti */
     var numeroCampiInput = 2;
    
     /* nascondiamo le immagini di controllo */
     for(i=1;i<=numeroCampiInput;i++){
      var elemento = "#controllo"+i;
      $(elemento).hide();
     }
    
     /* assegnamo la funzione controllo al cambiamento dei campi input */
    
     function ccc(i){
      return function(){
       controlla(i);
      };
     }
    
     for(i=1;i<=numeroCampiInput;i++){
      var elemento = "#Input"+i;
      $(elemento).change(ccc(i));
     }
     
    });
    
    /* funzione di controllo: argomento di funzione ID del campo input */
    /* identifichiamo l'elemento del campo input e leggiamo il suo valore */
    /*  quindi chiamiamo la funzione AJAX passandogli ID e Valore del campo */
    
    function controlla(id){
     var elemento = "#Input"+id;
     var valore = $(elemento).val();
     loadXMLDoc(id,valore);
    }
    
    
    /* funzione AJAX: argomenti di funzione ID e Valore del campo Input */
    function loadXMLDoc(id,valore)
    {
    
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        
        /* qui prendiamo la risposta del file PHP */
        /* controlliamo se sia Vero o Falso la presenza del dato del DB */
        /* quindi visualizziamo l'immagine relativa */
        
         var risposta = xmlhttp.responseText;
         risposta = risposta.substr(1, risposta.length-2);
         var elementoIMG = "#controllo"+id+" img";
         if (risposta=="VERO"){
          $(elementoIMG).attr("src","3.png");
         }else{
          $(elementoIMG).attr("src","6.png");
         }
         var elemento = "#controllo"+id;
         $(elemento).show();
        }
      }
    
    /* eseguiamo il file PHP per verificare se il dato e' presente nel DB */
    /* passiamo al file PHP id e il valore del campo Input */
    xmlhttp.open("GET","controllaDB.php?ID="+id+"&VAL="+valore,true); 
    xmlhttp.send(); 
    }
    </script>  
    </head>
    <body>
    
    ESEMPIO DI VERIFICA DELLA PRESENZA DEL CAMPO NEL DB
    
    Inserisci i dati (dati corretti: Categoria=Narrativa ; Titolo=Baudolino )
    <div id="area">
    CATEGORIA:<input type ="text" id="Input1" name="categoria"/><div id="controllo1"><img src="" /></div>
    TITOLO:<input type ="text" id="Input2" name="titolo"/><div id="controllo2"><img src="" /></div>
    </div>
    
    </body>
    </html>
    il file PHP prende ID ed il VALORE del campo INPUT
    ed eseguo lo switch per ID (quindi per ogni campo input esegue una ricerca diversa e mostra il relativo risultato)
    Codice PHP:
    <?php

    $con
    =mysqli_connect(................................);
    if (
    mysqli_connect_errno()) {
    echo
    "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $ID = $_GET['ID'];
    $VALORE = $_GET['VAL'];

    switch(
    $ID){
    case
    1:
    $query = "SELECT * FROM `libreria` WHERE `categoria`=\"".$VALORE."\"";
    break;
    case
    2:
    $query = "SELECT * FROM `libreria` WHERE `titolo`=\"".$VALORE."\"";
    break;
    }


    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    switch(
    $ID){
    case
    1:
    $risultato = $row['categoria'];
    break;
    case
    2:
    $risultato = $row['titolo'];
    break;
    }
    }

    if(
    $risultato===$VALORE){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>

    In questo esempio accedo ad un DB Libreria con campi CATEGORIA e TITOLO
    nel tuo caso ci saranno NOME , COGNOME , INDIRIZZO , ecc.
    e dovrai ampliare lo switch per tutti i differenti campi

  18. #48
    Guest

    Predefinito

    Ciao NLSweb,


    Sei un grande. L'ho sempre detto da quando ti ho conosciuto e ti sei dato da fare ad aiutarmi. Proverò il tuo esempio modificando ovviamente i campi. Per ora ho visto la demo e sembra funzionare alla grande. Era quello che volevo e che nessuno tranne te è riuscot ad aiutarmi ad oggi. Tra domani e dopodomani ti darò esito della prova. Grazie ancora davvero. Spero di capire dov'è lo switchma mi sembra che sia anche ben commentato. Grazie.

  19. #49
    Guest

    Predefinito domanda stupida o intelligente ????

    Ciao NLSweb,


    Allora ho provato a modificare il tuo esempio che mi hai postato. Solo che non mi va. Non funziona. Devo aver sbagliato qualcosa sicuramente. Ora ti posto quello che ho modificato.

    checkdatì.php

    Codice PHP:


    <?php

    require_once("connettimysqli.php");

    $ID = $_GET['ID'];
    $VALORE = $_GET['VAL'];

    switch(
    $ID){
    case
    1:
    $query = "SELECT * FROM uty WHERE `cognome`=\"".$VALORE."\"";
    break;
    case
    2:
    $query = "SELECT * FROM uty WHERE nome=\"".$VALORE."\"";
    break;
    }


    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    switch(
    $ID){
    case
    1:
    $risultato = $row['cognome'];
    break;
    case
    2:
    $risultato = $row['nome'];
    break;
    }
    }

    if(
    $risultato===$VALORE){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>
    iscrizione.php


    Codice PHP:

    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:15px;
    height:100px;
    position:absolute;
    text-align:center;
    width:1000px;

    }
    table{
    border:1px solid black;
    }
    </style>
    <script type="text/javascript">
    $(document).ready(function(){

    /* definiamo quanti campi input sono presenti */
    var numeroCampiInput = 3;

    /* nascondiamo le immagini di controllo */
    for(i=1;i<=numeroCampiInput;i++){
    var elemento = "#controllo"+i;
    $(elemento).hide();
    }

    /* assegnamo la funzione controllo al cambiamento dei campi input */

    function ccc(i){
    return function(){
    controlla(i);
    };
    }

    for(i=1;i<=numeroCampiInput;i++){
    var elemento = "#Input"+i;
    $(elemento).change(ccc(i));
    }

    });

    /* funzione di controllo: argomento di funzione ID del campo input */
    /* identifichiamo l'elemento del campo input e leggiamo il suo valore */
    /* quindi chiamiamo la funzione AJAX passandogli ID e Valore del campo */

    function controlla(id){
    var elemento = "#Input"+id;
    var valore = $(elemento).val();
    loadXMLDoc(id,valore);
    }


    /* funzione AJAX: argomenti di funzione ID e Valore del campo Input */
    function loadXMLDoc(id,valore)
    {

    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {

    /* qui prendiamo la risposta del file PHP */
    /* controlliamo se sia Vero o Falso la presenza del dato del DB */
    /* quindi visualizziamo l'immagine relativa */

    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    var elementoIMG = "#controllo"+id+" img";
    if (risposta=="VERO"){
    $(elementoIMG).attr("src","available.png");
    }else{
    $(elementoIMG).attr("src","not-available.png");
    }
    var elemento = "#controllo"+id;
    $(elemento).show();
    }
    }

    /* eseguiamo il file PHP per verificare se il dato e' presente nel DB */
    /* passiamo al file PHP id e il valore del campo Input */
    xmlhttp.open("GET",checkdati.php?ID="+id+"&VAL="+valore,true);
    xmlhttp.send();
    }
    </script>


    </head>

    <body>
    <header>
    <div id="Titolo"><h2>Prova inserimento campi</h2></div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <div id = "div">
    Cognome: <input type ="text" id="input" name="cognome" maxlenght ="15" >
    <div id="controllo"><img src="" /></div>

    <p> <p>
    Nome: <input type ="text" id="input2" name="nome" maxlenght ="15" >
    <div id="controllo2"><img src="" /></div> </p></p>

    <p> <p>

    Indirizzo: <input type ="text" id="input3" name="indirizzo" maxlenght ="15" >
    <div id="controllo3"><img src="" /></div> </p></p>

    </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");

    ?>

    </body>
    </html>
    nel tuo esempio ci sono delle cose che non mi sono chiare e sono le seguenti:


    Codice:
    <div id="area">    dove l'hai definita ?????

    la seconda cosa che non mi è chiara è questa, anche se sono quasi certo che sia questo il nome del db:

    Codice:
    
    xmlhttp.open("GET","controllaDB.php?ID="+id+"&VAL="+valore,true);
    
      è questo il nome del che verifica i dati inseriti e e si connette poi al db  ossiaio chiamo checkdati.php ????
    Grazie per l'aiuto datomi fino ad ora se ho capito bene come funziona il tuo esempio sono a cavallo.

  20. #50
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Allora...
    nel file checkdati , c'e' un errore
    Codice PHP:
    $query = "SELECT * FROM uty WHERE nome=\"".$VALORE."\"";
    correggi cosi' :
    Codice PHP:
    $query = "SELECT * FROM uty WHERE `nome`=\"".$VALORE."\"";
    inoltre non hai inserito la ricerca per il controllo dell'indirizzo (non so se e' voluto oppure no)


    Nel file iscrizione i campi input e controllo NON sono corretti !
    Codice HTML:
    Cognome: <input type ="text" id="input" name="cognome"  maxlenght ="15" > 
    <div id="controllo"><img src="" /></div>
    
    Nome: <input type ="text" id="input2" name="nome"  maxlenght ="15" >
    <div id="controllo2"><img src="" /></div>
    
    Indirizzo: <input type ="text" id="input3" name="indirizzo"  maxlenght ="15" >
    <div id="controllo3"><img src="" /></div>
    gli ID dei compi dovrebbero essere Input1 , Input2 , Input3
    e ID del controllo dovrebbero essere controllo1,controlo2,controllo3
    Codice HTML:
    Cognome: <input type ="text" id="Input1" name="cognome"  maxlenght ="15" > 
    <div id="controllo1"><img src="" /></div>
    
    Nome: <input type ="text" id="Input2" name="nome"  maxlenght ="15" >
    <div id="controllo2"><img src="" /></div>
    
    Indirizzo: <input type ="text" id="Input3" name="indirizzo"  maxlenght ="15" >
    <div id="controllo3"><img src="" /></div>


    Mi chiedi del <div id="area">
    non l'ho definita perche' in realta' non e' essenziale al funzionamento del codice , l'ho prevista solo perche' pensavo che volessi assegnare uno stile all'area che contiene i campi input


    questo xmlhttp.open("GET","controllaDB.php?ID="+id+"&VAL= "+valore,true);
    e' la mia chiamata al file PHP che legge il DB per te sara'
    xmlhttp.open("GET",checkdati.php?ID="+id+"&VAL="+v alore,true);

  21. #51
    Guest

    Predefinito

    Ciao NLSweb,

    Grazie delle correzioni e ti rispondo suibito pe ril terzo campo non era una dimenticanza ma era voluto. Ora se io dovessi iniziare di nuovo da capo gli id li posso mettere in input con la "i" così anzicchè maiuscola e partendo input, input1, input2 ecc. ecc ??? Stessa cosa per il controllo ??? Dove debbo modificare eventualmente ??? E' solo un mio ordine mentale niente di più :P.

  22. #52
    Guest

    Predefinito domanda stupida o intelligente ????

    CiaoNLSweb,


    Mi spiace doverti ri-rompere. Ma ho qualche difficoltà. Ho adattato il tuo esempio con i miei campi a tre ma qualsiasi cosa ci metta nei primi due mi segnala sempre la "X" sia che c'è nel db sia che non c'è. Quindi presumo che sia una falla da qualche parte. Poi aggiungendo un terzo campo mi compare un'immagine non definita sotto all'ultimo campo. Qui di seguito ti rimando per l'ennesima volta i codici. Un altra cosa poi ho risolto per avere le "i" minuscole anzicchè maiuscole ho capito dove bisognava modificare (ma questa è na scemenza). Allora facendo diverse prove, ho sgamato che mettendo lo style dava dei problemi con le "x" invece togliendolo funzionava come il tuo esempio. M a sempre e solo con la ricerca negativa di quello che chiedevo. Ora come posso mettere lo stil eil footer e l'header che non danno impiccio con lo script ??? Va prima o dopo o dentro lo script ????

    Ti mando le immagini così vedi se riesci a capire il motivo per cui mi fa questo scherzo:

    http://s28.postimg.org/5dzb2bdl9/Sen...o_nella_ri.png


    E questo è con lo style:

    http://s21.postimg.org/h0w02t4zb/Sen...ativo_nell.png

    Spero che tu riesca a risolvere anche questo grazie.

  23. #53
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Per rinominare i campi input e quelli di controllo con le immagini , devi solo stare attento ad una cosa:
    Se ti ricordi abbiamo usato dei cicli di for per nascondere le immagini, assegnare la funzione controlla ai campi input , ecc.
    l'abbiamo potuto fare perche' abbiamo assegnato un nome univico ai campi ("Input" , "controllo") e poi ci assegnavamo un numero in serie per distinguerli ("Input1 , Input2, ..." ; "controllo1 , controllo2 , ...").
    questo metodo serve per non dover scrivere per ogni campo una funzione distinta !

    per quanto riguarda il risultato sbagliato , bisogna controllare bene il dato tratto dal file checkdati
    prova a fare una prova , apri il file checkdati ed all'URL scrivi manualmente la ricerca da svolgere
    esempio checkdati.php?ID=1&VAL=mario
    e vedi il risultato (VERO o FALSO)

    poi fammi sapere..

    se controlli msolo due campi , al campo indirizzo non c'e' bisogno di mettere un id e il div controllo con l'immagine
    inoltre nello script devi inserire che il numero di campi input e' pari a 2 non 3.

    gli stili non dovrebbero dare alcun problema agli script !

    se puoi mandami il link della pagina al fine di eseguire un debug.. con le foto che hai postato non riesco a capire dove sia l'errore

  24. #54
    Guest

    Predefinito

    Ciao NLSweb,


    Purtroppo il link dove arrivare alla mia pagina è sul nas (synology) e non ci si arriva dall'esterno. Ora faccio queste prove che mi hai detto e poi ti riferisco. Quindi le immagini che ti ho inviato non sono per niente chiare ??? Da quanto ho capito. Comunque domani metto su altervista e poi ti posso dare il link Ho fatto girare il checkdati.php e mi da il seguente errore:

    Warning: mysqli_query(): Empty query in /volume1/web/utenti/validiamo/checkdati.php on line 22

    Allora ricapitolando prima mi ha dato l'errore sopra. poi ho fatto che mi hai detto te ossia ho messo:

    checkdati.php?ID=1&VAL=mario

    e mi ha restituito il seguente errore:

    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /volume1/web/utenti/validiamo/checkdati.php on line 24 FALSO

    Cosa vuol dire ciò ???
    Ultima modifica di magnare : 06-09-2014 alle ore 21.59.17

  25. #55
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    il primo errore dice che la query e' vuota !
    il secondo errore dice che aspettava un parametro per il ciclo di while che non ha avuto alcun dato !

    puoi postare il codice php , cosi' verifico dove possano essere gli errori..
    ed un altra cosa , mi descrivi il DB che usi: nome della tabella , nomi dei campi e il loro formato e il valore di una row in modo da provare un dato certo.

    inoltre ho inserito alcuni stili nel mio demo in modo che puoi confrontare con i tuoi...

    questo e' il codice che mi avevi postato prima..
    deduco la hai una tabella di nome uty
    con due campi di nome: Cognome e Nome (propabilmente di formato TEXT)...
    quindi quando esegui: checkdati.php?ID=1&VAL=mario
    praticamneto stai dicendo che ID=1 quindi deve cercare un cognome che ha come valore VAL=mario ...
    il $row = mysqli_fetch_array($result) dovrebbe ritornare il risultato della ricerca , ma ti restituisce NULL
    quindi il $risultato e' diverso dal $VALORE e' ti restituisce FALSO..
    Codice PHP:
    <?php
    require_once("connettimysqli.php");

    $ID = $_GET['ID'];
    $VALORE = $_GET['VAL'];

    switch(
    $ID){
    case
    1:
    $query = "SELECT * FROM uty WHERE `cognome`=\"".$VALORE."\"";
    break;
    case
    2:
    $query = "SELECT * FROM uty WHERE `nome`=\"".$VALORE."\"";
    break;
    }

    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    switch(
    $ID){
    case
    1:
    $risultato = $row['cognome'];
    break;
    case
    2:
    $risultato = $row['nome'];
    break;
    }
    }

    if(
    $risultato===$VALORE){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>
    Ultima modifica di NLSweb : 06-09-2014 alle ore 22.36.35

  26. #56
    Guest

    Predefinito domanda stupida o intelligente ????

    Ciao NLSweb,

    Innanzi tutto volevo ammire il tuo interesse verso il mio problema. ti stai dando molto da fare per farmi capire come effettivamente funzionano le cose e questo ti ringrazio vivamente. Aprezzo il tuo aiuto più che mai. Vorrei poterrti dare 5 stelle di merito. Ora ti posto tutto quello che mi hai chiesto. Ti posto anche il file connettimysql.php ovviamente dove ci sono le "xxxxxxx" è il mio indirizzo del nas.


    connettimysql.php

    Codice PHP:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </html>
    </head>

    <?php
    $ip
    = $_SERVER['SERVER_ADDR'];

    if(
    substr($ip,-7,3) == 'xxx'){

    $host = 'xxx.xxx.xxx.xxx';
    $user = 'fabio';
    $password = 'xxxx';
    $db = 'MegaLaboratorio';


    /*$con= new mysqli($host, $user, $password, $db); */

    $con=mysqli_connect($host, $user, $password, $db);



    if (!
    $con) {
    die (
    'Non riesco a connettermi: ' . mysqli_connect_errno());
    }

    $mysqli_db_selected = mysqli_select_db($con, $db);
    if (!
    $mysqli_db_selected) {
    die (
    "Errore nella selezione del database: " . mysqli_connect_errno());
    }
    else
    {

    echo
    '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

    //echo "<h1>Ti sei connesso al database"." ". $db. " "."da Roma.... Complimenti"." "."Il tuo indirizzo ip del server è:"." ". $ip;
    echo"</h1>";


    }

    }


    else if(
    substr($ip,-7,3) == 'xxx'){

    //Attualmente adiopero il secondo quello del mare

    $host = 'xxx.xxx.xxx.xxx';
    $user = 'fabio';
    $password = 'xxxxxx';
    $db = 'MegaLaboratorio';

    $con= new mysqli($host, $user, $password, $db);

    if (!
    $con) {
    die (
    'Non riesco a connettermi: ' . mysqli_connect_errno());
    }

    $mysqli_db_selected = mysqli_select_db($con, $db);
    if (!
    $mysqli_db_selected) {
    die (
    "Errore nella selezione del database: " . mysqli_connect_errno());
    }
    else
    {

    echo
    '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';


    //echo "<h1>Ti sei connesso al database"." ". $db. " "."da Anzio.... Complimenti"." "."Il tuo indirizzo ip del server è:"." ". $ip;

    echo"</h1>";
    }

    }
    ?>

    La tabella uty è composta così:


    Codice PHP:

    id int
    (10) AUTO_INCREMENT
    nome varchar
    (30) utf8_general_ci
    cognome varchar
    (30) utf8_general_ci
    username varchar
    (30) utf8_general_ci
    email varchar
    (40) utf8_general_ci
    password varchar
    (255) utf8_general_ci
    attivo enum
    ('1', '0') utf8_general_ci

    Nella tabella vi sono inseriti i seguenti dati:


    Codice:
    COGNOME  NOME        USERNAME        EMAIL                        PASSWORD     ATTIVO
    
    
    pippo 	pippa 	superpippo 	superpippo@gmail.com 		        0
    
    eeee    	eeee 	        eeee 	                eeee 		                                        0
    Qua metto anche un'immagine dei file inseriti:


    http://s29.postimg.org/a02cv4h5j/File_nel_db.png
    Qui di seguito ti posto iscrizione.php


    Codice PHP:

    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:15px;
    height:100px;
    position:absolute;
    text-align:center;
    width:1000px;

    }
    table{
    border:1px solid black;
    }
    </style>
    <script>
    $(document).ready(function(){
    for(i=1;i<4){
    var elemento = "#controllo"+i;
    $(elemento).hide();
    }

    for(i=1;i<4){
    var elemento = "#Input"+i;
    $(elemento).change(function(){
    controlla(i);
    }

    function loadXMLDoc(valore,id){
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    var elemento = "#controllo"+id+" img":
    if (risposta=="VERO"){
    $(elemento).attr("src","available.png");
    }else{
    $(elemento).attr("src","not-available.png");
    }
    $("#controllo").show();
    }
    }
    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    xmlhttp.send();
    }
    </script>


    </head>

    <body>
    <header>
    <div id="Titolo"><h2>Prova inserimento campi</h2></div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <div id = "div">
    Cognome: <input type ="text" id="Input" name="cognome" maxlenght ="15" >
    <div id="controllo"><img src="" /></div>

    <p> <p>
    Nome: <input type ="text" id="Input2" name="nome" maxlenght ="15" >
    <div id="controllo2"><img src="" /></div> </p></p>

    <p> <p>

    Indirizzo: <input type ="text" id="Input3" name="indirizzo" maxlenght ="15" >
    <div id="controllo3"><img src="" /></div> </p></p>

    </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");

    ?>

    </body>
    </html>
    Questo è il checkdati.php

    Codice PHP:

    <?php

    require_once("connettimysqli.php");

    $ID = $_GET['ID'];
    $VALORE = $_GET['VAL'];

    switch(
    $ID){
    case
    1:
    $query = "SELECT * FROM `uty` WHERE `cognome`=\"".$VALORE."\"";
    break;
    case
    2:
    $query = "SELECT * FROM `uty` WHERE `nome`=\"".$VALORE."\"";
    break;
    }


    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    switch(
    $ID){
    case
    1:
    $risultato = $row['cognome'];
    break;
    case
    2:
    $risultato = $row['nome'];
    break;
    }
    }

    if(
    $risultato===$VALORE){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>

    Spero di averti dato tutte le info che mi hai chiesto. nel pome confronto subito il tuo css con il mio per capire dov'è l'intoppo. Grazie.
    Ultima modifica di magnare : 07-09-2014 alle ore 13.40.11

  27. #57
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    OK. Allora...

    nel file iscrizione , sono presenti ancora degli errori.. (non capisco come mai non hai aggiornato il codice come ti avevo suggerito..)
    .. questi due cicli di for sono sbagliati !
    Codice:
    for(i=1;i<4){
      var elemento = "#controllo"+i;
      $(elemento).hide();
     }
    
    for(i=1;i<4){
      var elemento = "#Input"+i;
      $(elemento).change(function(){
       controlla(i);
    }
    nel post#47 ti indicavo come farli !
    Codice:
    /* definiamo quanti campi input sono presenti */
     var numeroCampiInput = 2;
    
     /* nascondiamo le immagini di controllo */
     for(i=1;i<=numeroCampiInput;i++){
      var elemento = "#controllo"+i;
      $(elemento).hide();
     }
    
     /* assegnamo la funzione controllo al cambiamento dei campi input */
    
     function ccc(i){
      return function(){
       controlla(i);
      };
     }
    
     for(i=1;i<=numeroCampiInput;i++){
      var elemento = "#Input"+i;
      $(elemento).change(ccc(i));
     }
    la chiamata del del checkdati e' sbaglita ! manca il valore del campo !
    Codice:
    xmlhttp.open("GET","checkdati.php?ID="+id,true);
    sempre post#47
    Codice:
    #xmlhttp.open("GET","checkdati.php?ID="+id+"&VAL="+valore,true);
    ed anche la struttura HTML e' sbagliata !
    ti avevo gia' indicato come risolverla nel post#53

    mi domando se questo e' il codice che stai usando o mi hai postato un codice vecchio , perche' questi errori li avevamo gia' tutti corretti !


    per verificare il file checkdate.php
    prova ad eseguirlo in questo modo:

    checkdati.php?ID=2&VAL=pippa

    dovrebbe darti come echo VERO

  28. #58
    Guest

    Predefinito

    Ciao NLSweb,


    Perdonami, ma nel tentativo di correggere da solo devo aver reimpostato quello vecchio e non me ne sono accorto ora ricorreggo tutto e poi ti mando il risultato finale. La prossima volta ci starò più attento e se devo fare delle modifiche le farò in un file secondario così lascio intatto quello originale.

  29. #59
    Guest

    Predefinito domanda stupida o intelligente ????

    Ciao NLSweb,


    Allora credo di aver rimesso tutto a posto come stava prima. Qua di seguito ti riposto le modifiche effettuate. Spero di non essermi mangiato qualcosa.

    checkdati.php:

    Codice PHP:


    <?php

    require_once("connettimysqli.php");

    $ID = $_GET['ID'];
    $VALORE = $_GET['VAL'];

    switch(
    $ID){
    case
    1:
    $query = "SELECT * FROM `uty` WHERE `cognome`=\"".$VALORE."\"";
    break;
    case
    2:
    $query = "SELECT * FROM `uty` WHERE `nome`=\"".$VALORE."\"";
    break;
    case
    3:
    $query = "SELECT * FROM `uty` WHERE `username`=\"".$VALORE."\"";
    break;
    }


    $result = mysqli_query($con,$query) or die(mysql_error());

    while(
    $row = mysqli_fetch_array($result)) {
    switch(
    $ID){
    case
    1:
    $risultato = $row['cognome'];
    break;
    case
    2:
    $risultato = $row['nome'];
    break;
    case
    3:
    $risultato = $row['username'];
    break;
    }
    }

    if(
    $risultato===$VALORE){
    echo
    "VERO";
    }else{
    echo
    "FALSO";
    }

    mysqli_close($con);
    ?>
    Se faccio girare semplicemente il file checkdati mi da il seguente errore:

    Codice:
     Warning: mysqli_query(): Empty query in /volume1/web/utenti/validiamo/checkdati.php on line 21
    La riga 21 corrisponde alla seguente istruzione:

    Codice:
    $result = mysqli_query($con,$query) or die(mysql_error());
    Qua ti riporto di nuovo il file iscrizione.php che dovrebbe essere giusto (spero):


    Codice PHP:



    <html>
    <head>
    <meta charset="UTF-8">
    <title>Iscrizione</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    <style type="text/css">
    #Data{
    position:absolute;
    top:0px;
    left:10px;
    left:20px;

    }
    #Titolo{
    position:absolute;
    top:0px;
    left:395px;
    width: 350px;
    font-size:100%;
    }
    hr {
    position:absolute;
    top: 50px;
    width: 1055px;
    color: #0000ff;
    }
    div {
    position:absolute;
    top: 72px;
    }

    footer{
    bottom:15px;
    height:100px;
    position:absolute;
    text-align:center;
    width:1000px;

    }
    table{
    border:1px solid black;
    }
    </style>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){

    /* definiamo quanti campi input sono presenti */
    var numeroCampiinput = 3;

    /* nascondiamo le immagini di controllo */
    for(i=1;i<=numeroCampiinput;i++){
    var elemento = "#controllo"+i;
    $(elemento).hide();
    }

    /* assegnamo la funzione controllo al cambiamento dei campi input */

    function ccc(i){
    return function(){
    controlla(i);
    };
    }

    for(i=1;i<=numeroCampiinput;i++){
    var elemento = "#input"+i;
    $(elemento).change(ccc(i));
    }

    });

    /* funzione di controllo: argomento di funzione ID del campo input */
    /* identifichiamo l'elemento del campo input e leggiamo il suo valore */
    /* quindi chiamiamo la funzione AJAX passandogli ID e Valore del campo */

    function controlla(id){
    var elemento = "#input"+id;
    var valore = $(elemento).val();
    loadXMLDoc(id,valore);
    }


    /* funzione AJAX: argomenti di funzione ID e Valore del campo Input */
    function loadXMLDoc(id,valore)
    {

    var xmlhttp;
    if (window.XMLHttpRequest)
    {
    xmlhttp=new XMLHttpRequest();
    }
    else
    {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {

    /* qui prendiamo la risposta del file PHP */
    /* controlliamo se sia Vero o Falso la presenza del dato del DB */
    /* quindi visualizziamo l'immagine relativa */

    var risposta = xmlhttp.responseText;
    risposta = risposta.substr(1, risposta.length-2);
    var elementoIMG = "#controllo"+id+" img";
    if (risposta=="VERO"){
    $(elementoIMG).attr("src","available.png");
    }else{
    $(elementoIMG).attr("src","not-available.png");
    }
    var elemento = "#controllo"+id;
    $(elemento).show();
    }
    }

    /* eseguiamo il file PHP per verificare se il dato e' presente nel DB */
    /* passiamo al file PHP id e il valore del campo Input */
    xmlhttp.open("GET","checkdati.php?ID="+id+"&VAL="+valore,true);
    xmlhttp.send();
    }
    </script>
    </head>
    <body>


    </head>

    <body>
    <header>
    <div id="Titolo"><h2>Prova inserimento campi</h2></div>
    <hr>
    </header>

    <footer>
    <div id="footer">
    La pagina è stata creata by Fabio xxxxxxxxxx. Tutti i diritti riservati.
    Ogni parte o contenuto di essa se ricopiati o riportati in altre pagine
    senza previaviso e autorizzazione dell'autore, saranno puniti a norma di legge.
    </div>
    </footer>

    <div id = "div">
    Cognome: <input type ="text" id="input1" name="cognome" maxlenght ="15" >
    <div id="controllo"><img src="" /></div>

    <p> <p>
    Nome: <input type ="text" id="input2" name="nome" maxlenght ="15" >
    <div id="controllo2"><img src="" /></div> </p></p>

    <p> <p>

    Username: <input type ="text" id="input3" name="username" maxlenght ="15" >
    <div id="controllo3"><img src="" /></div> </p></p>

    </div> </div>


    <?php

    include_once("connettimysqli.php");

    include_once(
    "data.php");

    ?>

    </body>
    </html>

    Il risultato della prova da te consigliatami è la seguente:

    per la ricerca con la seguente stringa inserita a mano mi da il seguente risultato:


    Codice:
    checkdati.php?ID=2&VAL=pippa
    
    FALSE

    Ecco l'immagine:

    http://s13.postimg.org/ej2z7kcuv/Ris..._con_Pippa.png

    Invece se ci metto a posto di pippa --> pippo (che è presente nel db) mi da VERO


    Codice:
    checkdati.php?ID=2&VAL=pippo
    
    VERO

    http://s30.postimg.org/551cy54j5/Ris..._con_Pippo.png


    Cosa c'è di sbagliato nella query ???? Mi sembra che pippa come nome sia presente nel db se non erro.

  30. #60
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Ok. procediamo per gradi...

    nel tuo post#56 l'immagine della tabella del DB mostra che Nome=Pippo , Cognome=Pippa
    mentre il codice da te scritto e' al contrario (Nome=Pippa , Cognome=Pippo)
    ecco perche'
    checkdati.php?ID=2&VAL=pippo da VERO
    e
    checkdati.php?ID=2&VAL=pippa da FALSO

    quindi possiamo dire che il file checkdati e' corretto !!

    nel file iscrizione c'e' un errore:
    <div id="controllo"><img src="" /></div>

    dovrebbe essere
    <div id="controllo1"><img src="" /></div>

    tu dici
    Se faccio girare semplicemente il file checkdati mi da il seguente errore:
    Warning: mysqli_query(): Empty query in /volume1/web/utenti/validiamo/checkdati.php on line 21
    che significa fai girare semplicemente ? vuol dire che non gli passi alcun parametro e quindi il risultato della query e' NULLO !

    ..............

    ci siamo quasi..

    correggi gli ultimi errori e dovremo esserci !

Pagina 2 di 5 PrimoPrimo 1234 ... UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •