Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833

    Non capisco dove e' l'errore (SQL non funziona)

    Ciao, sto impazzendo perche' non riesco a capire come mai non funziona il reperimento del cliente tramite SQL.

    In pratica questa semplice pagina deve semplicemente fare un sql con lo username e la password e reperire il cliente associato, pero' non funziona e non so' perche'! Mi aiutate a capire dove sbaglio, Grazie

    Posto la pagina

    <html>

    <?php
    define("PAGE_TITLE", "Customer Update");
    define("PHP_FILE_NAME", "srvrq1.php")
    ?>

    <head>

    <script language="javascript">
    <!--
    function checkForm()
    {

    if (document.action.customerCLSUSR.value==""){
    alert("Username obbligatorio");
    document.action.customerCLSUSR.focus();
    return false;
    }

    if (document.action.customerCLSPSW.value==""){
    alert("Password obbligatoria");
    document.action.customerCLSPSW.focus();
    return false;
    }

    if (document.action.customerCLSCLI.value==""){
    alert("Cliente non registrato");
    document.action.customerCLSUSR.focus();
    return false;
    }

    }
    //-->
    </script>

    <script language="Javascript">
    function verificacaratteri(campo)
    {
    var chiffres = new RegExp("[a-z-A-Z-0-9,-?.\/*\r\n ]");
    var verif;
    var points = 0;

    for(x = 0; x < campo.value.length; x++)
    {
    verif = chiffres.test(campo.value.charAt(x));
    if(campo.value.charAt(x) == "."){points++;}
    if(points > 1){verif = false; points = 1;}
    if(verif == false){campo.value = campo.value.substr(0,x) + campo.value.substr(x+1,campo.value.length-x+1); x--;}
    }
    }
    </script>

    </head>

    <body style="overflow:hidden;" bgcolor="#F7F7F7">

    <?php
    print( date("d M Y H:i:s", time()) );

    /* Apertura connessione al database*/
    include("connection.inc");

    /* Testo se sono stati immessi Usr e Psw:
    - Se non immessi pulisco variabile con cliente
    - Se immessi reperisco il codice cliente associato alla usr e psw
    */

    if ($customerCLSUSR=="" && $customerCLSUSR=="")

    {$customerCLSCLI = "";}

    else {

    $sql = "select *
    from ACSSI_DAT.CLSSI00F
    WHERE CLSUSR = '".$customerCLSUSR."'
    AND CLSPSW = '".$customerCLSPSW."' ";
    $stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));

    $row = db2_fetch_array($stmt);

    /* Ciclo di lettura dei dati estratti e stampa */
    if (!$row=="") {

    $customerCLSCLI = $row[7];

    }
    }

    print '<form name="action" onsubmit="return checkForm();" action="srvrq2.php?
    customerCLSCLI=' . $customerCLSCLI .'
    " method="POST">';

    print '<input type=hidden name="customerCLSCLI" value="'.$customerCLSCLI.'" />';
    print 'Username <input type="text" size="10" maxlength="10" onkeyup=verificacaratteri(this);
    name="customerCLSUSR" value="'.$customerCLSUSR.'"/>
    ';

    print 'Password <input type="text" size="10" maxlength="10" onkeyup=verificacaratteri(this);
    name="customerCLSPSW" value="'.$customerCLSPSW.'"/>
    ';

    /*Stampo Sql e variabili per vedere se sono presenti
    -------- NON SONO PRESENTI ANCHE SE NEL INPUT HO MESSO USR E PSQ!!----------*/
    Print 'SQL='.$sql.'
    ';
    Print 'CLI='.$customerCLSCLI.'
    ';
    Print 'CLI='.$customerCLSUSR.'
    ';
    Print 'CLI='.$customerCLSPSW.'
    ';

    print '

    ';
    ?>

    </td> <td>
    <?php
    print '<input type="submit" name="action" value="Aggiunta" /></form>';

    print '<form action="db2_update4.php" method="POST">';
    print '<input type="submit" name="close" value="Close " /></form>';

    print '</form>';

    ?>


    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    up

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Prova a spiegare quale sarebbe l'idea che sta dietro questa "semplice pagina", perché a me sembra un mostro senza senso.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    la pagina e' semplicemente un login, dove e' obbligatorio immettere username e password,

    e se immessi vado a controllare che nel file CLSSI00F esista un cliente con questi due dati e se esiste chiamare la pagina SRVRQ2.php passando il cliente.

    Il problema e' che dopo avere messo i dati nella user e pswd io mi aspetterei che facesse l'sql visto che le variabili sono state immesse invece il test sul slq non funziona.
    Mentre se forzo io i dati prima del sql ($customerCLSUSR = "HodSSI" funziona.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Qualche buon anima mi puo' dire perche' quando faccio questo sql

    if ($customerCLSUSR=="" && $customerCLSUSR=="")
    {$customerCLSCLI = "";}
    else {

    $sql = "select *
    from ACSSI_DAT.CLSSI00F
    WHERE CLSUSR = '".$customerCLSUSR."'
    AND CLSPSW = '".$customerCLSPSW."' ";
    $stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));
    $row = db2_fetch_array($stmt);
    /* Ciclo di lettura dei dati estratti e stampa */
    if (!$row=="") {
    $customerCLSCLI = $row[7];
    }
    }


    le variabili ($customerCLSUSR=="" && $customerCLSUSR=="") non sono impostate
    anche le ho scritte:
    print 'Username <input type="text" size="10" maxlength="10"onkeyup=verificacaratteri(this);

    Infatti i test sull'immissione obbligatoria dei campi funziona
    if (document.action.customerCLSUSR.value==""){
    alert("Username obbligatorio");
    document.action.customerCLSUSR.focus();
    return false;
    }

    Il fatto e' che se prima del sql imposto io le variabili l'sql funziona e reperisce il cliente giusto.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    up

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    E' possibile testare impostare le variabili dentro una pagina?
    Mi spiego meglio se in un'altra pagina, chiamata da quella del login,
    reperisco le varibili della prima pagina,
    $customerCLSUSR = $_POST["customerCLSUSR"];
    $customerCLSPSW = $_POST["customerCLSPSW"];,
    e faccio l'sql uguale a quello della prima pagina, funziona perche' le variabili sono impostate.

    Come posso fare a impostare e testare le variabili direttamente dentro la pagina?
    cioe' perche' se metto l'input

    print 'Password <input type="password" size="10" maxlength="10" onkeyup=verificacaratteri(this);
    name="customerCLSPSW" value="'.$customerCLSPSW.'" />
    ';

    quando testo la variabile '.$customerCLSPSW.' nella prima pagina non e' impostata
    mentre in un'altra pagina se la reperisco con il post c'e'.

    So che questo post sta' diventando stressante ma fatemi capire il perche' di questa situazione!

    Ciao

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Qual è la parte difficile?
    Se vuoi recuperare i dati del modulo devi usare la forma $_POST["customerCLSUSR"]; se usi semplicemente $customerCLSUSR non li trovi

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Ok premessa sto iniziando a usare php e alcune cose non mi sono chiare.

    Quindi e' possibile nella stessa pagina dove metto lo username e la password fare l'sql con i dati che ho messo?

    Posto la pagina perche', se e' possibile fare questo ci sono degli errori perche' ha me non riesce di testare le variabili che ho appena scritto.

    Il problema e' che se guardi il terzo controllo, document.action.customerCLSCLI.value==""
    quello e' il valore che dovrei reperire dal sql ma non riesce mai l'sql perche' il test
    if ($customerCLSUSR=="" && $customerCLSUSR=="") non riesce perche' non riesco a impostare le variabili che ho appena scritto.

    Mi dice come posso fare? Grazie

    <html>

    <?php
    define("PAGE_TITLE", "Customer Update");
    define("PHP_FILE_NAME", "srvrq1.php")
    ?>

    <head>

    <script language="javascript">
    <!--
    function checkForm()
    {

    if (document.action.customerCLSUSR.value==""){
    alert("Username obbligatorio");
    document.action.customerCLSUSR.focus();
    return false;
    }

    if (document.action.customerCLSPSW.value==""){
    alert("Password obbligatoria");
    document.action.customerCLSPSW.focus();
    return false;
    }

    if (document.action.customerCLSCLI.value==""){
    alert("Cliente non registrato o errore nell'inserimento dei dati");
    document.action.customerCLSUSR.focus();
    return false;
    }

    }
    //-->
    </script>

    <script language="Javascript">
    function verificacaratteri(campo)
    {
    var chiffres = new RegExp("[a-z-A-Z-0-9,-?.\/*\r\n ]");
    var verif;
    var points = 0;

    for(x = 0; x < campo.value.length; x++)
    {
    verif = chiffres.test(campo.value.charAt(x));
    if(campo.value.charAt(x) == "."){points++;}
    if(points > 1){verif = false; points = 1;}
    if(verif == false){campo.value = campo.value.substr(0,x) + campo.value.substr(x+1,campo.value.length-x+1); x--;}
    }
    }
    </script>

    </head>

    <?php
    /* Apertura connessione al database*/
    include("connection.inc");

    $_POST["customerCLSUSR"]; $_POST["customerCLSPSW"];
    $customerCLSUSR = $_POST["customerCLSUSR"];
    $customerCLSPSW = $_POST["customerCLSPSW"];


    if ($customerCLSUSR=="" && $customerCLSUSR=="")
    {$customerCLSCLI = "";}
    else {

    $sql = "select *
    from ACSSI_DAT.CLSSI00F
    WHERE CLSUSR = '".$customerCLSUSR."'
    AND CLSPSW = '".$customerCLSPSW."' ";
    $stmt = db2_exec($dbh, $sql, array('cursor' => DB2_SCROLLABLE));
    $row = db2_fetch_array($stmt);
    /* Ciclo di lettura dei dati estratti e stampa */
    if (!$row=="") {
    $customerCLSCLI = $row[7];
    }
    }
    ?>

    <body style="overflow:hidden;" bgcolor="#F7F7F7" leftmargin="0" rightmargin="0" topmargin="0">
    <table border="1" width="100%" >
    <tr>
    <td width="110" height="50">SSI </td>
    <td align="center">Gestione Richieste di Assistenza</td>
    </tr>

    <tr>
    <td width="110">
    </td>
    <td rowspan="2" valign="top">

    <p align="center"><?php print( date("d M Y H:i:s", time()) ); ?></p>


    <?php print'Immettere username e password'; ?></p>

    <?php
    print '<form name="action" onsubmit="return checkForm();" action="srvrq2.php?
    customerCLSCLI=' . $customerCLSCLI .'
    " method="POST">';

    print '<input type=hidden name="customerCLSCLI" value="'.$customerCLSCLI.'" />';

    print 'Username <input type="text" size="10" maxlength="10" onkeyup=verificacaratteri(this);
    name="customerCLSUSR" value="'.$customerCLSUSR.'" />
    ';

    print 'Password <input type="password" size="10" maxlength="10" onkeyup=verificacaratteri(this);
    name="customerCLSPSW" value="'.$customerCLSPSW.'" />
    ';

    print '

    ';
    ?>




    </td>
    </tr>
    <tr>
    <td width="110" height="344" valign="top">

    <?php
    print '<input type="submit" name="action" value="Enter " /></form>';
    print '<form action="db2_update4.php" name="close" method="POST">';
    print '<input type="submit" name="close" value="Close " /></form>';
    ?>

    </td>


    </tr>
    </table>
    </body>
    </html>

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.