Visualizzazione risultati 1 fino 5 di 5

Discussione: problema con l'accesso di nuove credenziali

  1. #1
    Guest

    Exclamation problema con l'accesso di nuove credenziali

    sul mio sito ho messo la parte della registrazione;
    però non capisco il motivo per il quale, mi si crea il record (nella tabella ''esterni'')(ci sono due tabelle; una ''generale'' e una ''esterni'' sul db; MA quando vado per effettuare l'accesso (con i dati del nuovo record) la pagina non mi si carica ma il tutto si ferma sulla pagina in interrogazione....

    io ho :

    una pagina di inserimento credenziali per il login (A) che chiama una pagina di interrogazione (B) che verifica i dati sulla tabella generale e se essi non sono presenti lì ne chiama una terza (C) che verifica l'esistenza dei dati nella tab ''esterni''


    l'errore sta nel fatto che il sito si ''blocca'' sulla pagina ''C''


    può dipendere dal fatto che:

    ''A'' manda i dati a ''B'' e ''C'' non riceve alcun dato?

    se vi do i codice delle 3 pagine gli potreste dare un occhio?

    grazie in anticipo
    Fabio
    scusate se vi disturbo tanto ma ho 16 anni ed è il mio 1° sito che sviluppo e lo sto facendo in maniera completamente autonoma (e con il vostro aiuto)



    CODICE della pagina ''A'':
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PAGIONA DI LOGIN!</title>
    <style type="text/css">
    </style>
    <link href="../css/cose_pubbliche/pagina_login_piccola.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    body {
    background-image: url(../immagini_per_sito/Sfondo-per-cellulari-3.jpg);
    background-repeat: no-repeat;
    location: no;
    scrollbar: no;
    }
    </style>
    </head>

    <body

    <?
    session_start();
    session_destroy();
    session_unset()
    ?>
    <center>
    <form name="inviadati" action="../cose_pubbliche/Interrogazione_db.php" method="post">
    <table width="30%" "border="0" align="center" class="tabella">

    <td align="center" valign="middle" class="categoria"><strong class="categoria">UTENTE:</strong></td>

    <tr>
    <td align="center" valign="middle"><input name="utente" type="text" class="celle_inserimento" id="textfield" /></td>
    </tr>
    <tr>
    <td align="center" valign="middle" class="categoria"><strong class="categoria">PASSWORD:</strong></td>
    </tr>
    <tr>
    <td align="center" valign="middle"><input name="pwd" type="password" class="celle_inserimento" /></td>
    </tr>
    <tr>
    <td align="center" valign="middle" class="categoria"><strong>SESSO:</strong></td>
    </tr>
    <tr>
    <td align="center" valign="middle"><select name="sesso" class="celle_inserimento" id="SESSO" >
    <option selected="selected"> </option>
    <option value="m">maschio</option>
    <option value="f">femmina</option>
    <option value="anonimo">anonimo</option>
    </select></td>
    </tr>
    <tr>
    <td align="center" valign="middle"><span class="nomi_dei_campi">
    <input name="inviate" type="submit" class="bottoni" value="LOGIN!" onClick=/></td>
    </tr>
    </table></form>
    <p>&nbsp;</p>
    </center>
    </body>
    </html>

    CODICE pagina ''B'':
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

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

    <title>Interrogazione db</title>

    </head>



    <body>

    <?php

    // Connecting, selecting database
    session_start();
    $link = mysql_connect('localhost', '', '')

    or die('Could not connect: ' . mysql_error());

    mysql_select_db('my_fabio1cgec') or die('Could not select database');

    // Performing SQL query

    $utente = mysql_real_escape_string($_POST['utente']); // è meglio togliere caratteri come l'apostrofo (' viene rimpiazzato con \')
    $pwd=mysql_real_escape_string($_POST['pwd']);
    $sesso=$_POST['sesso'];
    $query = "SELECT * FROM generale WHERE ID='".$utente."' AND PASSWORD='".$pwd."' AND SESSO='".$sesso."'";
    $result = mysql_query($query) or die('Query failed: ' . mysql_error());

    $num_rows = mysql_num_rows($result);



    if($num_rows==0){
    //non ho trovato alcun utente con nome e pwd indicate rimando a pagina inizio
    $location = '../cose_pubbliche/Interrogazione_db_esterni.php';
    }
    else{
    //qualcosa ho trovato inizializzo variabili di sessione e stabilisco la tipologia di utente che registro nella variabile $tipuser
    $_SESSION['id_utente']=$utente;
    $tipuser=mysql_result($result,0,'tipo');
    $_SESSION['tipo']=$tipuser;
    $_SESSION['sesso']=$sesso;

    //il comando switch su una var consente di eseguire un blocco istruzioni a seconda del valore della variabile
    switch ($tipuser) {
    case "G":
    //rimando al link per docenti
    $location = '../cose_per_studenti_e_genitori/la_2Cgec.php';
    break;
    case "D":
    //rimando al link per docenti
    $location = '../cose_per_prof/la_2Cgec.php';
    break;
    case "S":
    //rimando al link per studenti
    $location = '../cose_per_studenti/la_2Cgec.php';
    break;
    case "A":
    //rimando al link per studenti
    $location = '../cose_per_tutto/menu_generale.php';
    break;
    default:
    //rimando al link per tutti quelli che non rientrano nei casi precedenti
    $location = '../cose_pubbliche/Interrogazione_db_esterni.php';
    break;
    }
    }

    ?>
    <script>
    self.opener.location.href = '<?=$location; ?>';
    self.close();
    </script>
    <?

    // Free resultset
    mysql_free_result($result);
    // Closing connection
    mysql_close($link);
    ?>
    </body>

    </html>

    CODICE pagina ''C'':
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

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

    <title>Interrogazione db</title>

    </head>



    <body>

    <?php
    session_start();
    $link = mysql_connect('localhost', '', '')

    or die('Could not connect: ' . mysql_error());

    mysql_select_db('my_fabio1cgec') or die('Could not select database');

    $utente = mysql_real_escape_string($_POST['utente']); // è meglio togliere caratteri come l'apostrofo (' viene rimpiazzato con \')
    $pwd=mysql_real_escape_string($_POST['pwd']);
    $sesso=$_POST['sesso'];
    $query = "SELECT * FROM esterni WHERE ID='".$utente."' AND PASSWORD='".$pwd."' AND SESSO='".$sesso."'";
    $result = mysql_query($query) or die('Query failed: ' . mysql_error());

    $num_rows = mysql_num_rows($result);



    if($num_rows==0){
    //non ho trovato alcun utente con nome e pwd indicate rimando a pagina inizio
    $location = '../errore_di_login/menu_generale.php';
    }
    else{
    //qualcosa ho trovato inizializzo variabili di sessione e stabilisco la tipologia di utente che registro nella variabile $tipuser

    $location = '../cose_per_esterni/menu_generale.php';
    //il comando switch su una var consente di eseguire un blocco istruzioni a seconda del valore della variabile

    }

    //$location ='../cose_per_esterni/menu_generale.php' ;

    ?>
    <script>
    self.opener.location.href = '<?=$location; ?>';
    self.close();
    </script>
    <?

    // Free resultset
    mysql_free_result($result);
    // Closing connection
    mysql_close($link);
    ?>
    </body>

    </html>

  2. #2
    Guest

    Predefinito

    Ok, dovresti però utilizzare i tag PHP se no è difficile leggere le varie pagine.
    Detto questo, io ho dovuto leggere solo l'ultima perché le altre le conoscevo già (sono orgxiiipu con un nuovo account, ti ho già aiutato in un'altra discussione).
    Per quanto riguarda il tuo problema, hai ragione, la pagina C non riceve alcun dato, perché la variabile $_POST è vuota se usi la location. Infatti $_POST ha valori se riceve dati da una form o al massimo usando AJAX.
    In ogni caso, non vedo perché tu debba creare la pagina C, puoi benissimo mettere il suo codice sotto a quello della pagina B (facendo ovviamente le opportune modifiche).

  3. #3
    Guest

    Predefinito

    immaginavo :)

    grazie mille :) (sappi che ti tengo buono se ho ancora bisogno sei gentilissimo )

    non ho usato il tag php perchè normalmente si prende in automatico il codice...non so perchè questa volta non lo abbia fatto

  4. #4
    Guest

    Predefinito

    non ho usato il tag php perchè normalmente si prende in automatico il codice...non so perchè questa volta non lo abbia fatto
    Veramente non lo fa in automatico, lo fanno i Moderatori se vedono che non lo fai tu.

  5. #5
    Guest

    Predefinito

    an ok....allora mi avranno maledetto xD

Regole di scrittura

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