Visualizzazione risultati 1 fino 2 di 2

Discussione: Problema script registrazione

  1. #1
    Guest

    Predefinito Problema script registrazione

    Ho un problema con un sistema di registrazione trovato su internet, in pratica quando vado a registrarmi non mi dice niente, vengono i form, clicco su registra e... ritorno alla pagina senza il messaggio di errore o avvenuta registrazione.

    I codici sono questi:

    config.php (i dati del database)

    Codice PHP:
    <?php
    $mysql
    ['host'] = "localhost";
    $mysql['pass'] = "*****";
    $mysql['user'] = "edo98";
    $mysql['name'] = "my_edo98";

    @
    mysql_connect($mysql['host'], $mysql['user'], $mysql['pass']);
    @
    mysql_select_db($mysql['name']);
    ?>
    install.php (creazione delle tabelle)

    Codice PHP:
    <?php
    echo "<h1>Installazione</h1>\n";
    require(
    "config.php");

    @
    mysql_query("CREATE TABLE 'members' (
    'id' INT( 11 ) NOT NULL AUTO_INCREMENT ,
    'user' VARCHAR( 255 ) NOT NULL ,
    'pass' VARCHAR( 255 ) NOT NULL ,
    'nome' VARCHAR( 255 ) NOT NULL ,
    'cognome' VARCHAR( 255 ) NOT NULL ,
    'age' VARCHAR( 255 ) NOT NULL ,
    'city' VARCHAR( 255 ) NOT NULL ,
    'hobby' TEXT NOT NULL ,
    INDEX ( 'id' )
    );
    "
    );

    if (@
    mysql_close()) {
    echo
    "Ok!<br>\n";
    echo
    "Installazione avvenuta con successo.\n";} else { echo "Errore!"; }
    ?>
    join.php (registrazione)

    Codice PHP:
    <?php
    require("config.php");

    echo
    "<h1>Registrazione</h1>\n";
    if (
    $action == FALSE)
    {
    echo
    "<form action=\"./join.php\" method=\"post\">\n";
    echo
    "<table width=\"100%\" border=\"0\">\n";
    echo
    "<tr>\n";
    echo
    "<td width=\"9%\"><strong>Username *</strong></td>\n";
    echo
    "<td width=\"91%\"><input name=\"user\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Password *</strong></td>\n";
    echo
    "<td><input name=\"pass\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Nome *</strong></td>\n";
    echo
    "<td><input name=\"nome\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Cognome</strong></td>\n";
    echo
    "<td><input name=\"cognome\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Età *</strong></td>\n";
    echo
    "<td><input name=\"age\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Città</strong></td>\n";
    echo
    "<td><input name=\"city\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td valign=\"top\"><strong>Hobby *</strong></td>\n";
    echo
    "<td><textarea name=\"hobby\"></textarea></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr align=\"center\">\n";
    echo
    "<td colspan=\"2\"><input type=\"hidden\" name=\"action\" value=\"join\"><input type=\"submit\" value=\" Join! \"></td>\n";
    echo
    "</tr>\n";
    echo
    "</table>\n";
    echo
    "</form>\n";
    }
    else
    {
    if (
    $user==TRUE && $pass==TRUE && $nome==TRUE && $age==TRUE && $hobby==TRUE)
    {
    if (
    $cognome == FALSE) $cognome = "n/a";
    if (
    $city == FALSE) $city = "n/a";
    @
    mysql_query("INSERT INTO 'members' ( 'id' , 'user' , 'pass' , 'nome' , 'cognome' , 'age' , 'city' , 'hobby' )
    VALUES ('',
    '"
    . $user . "',
    '"
    . $pass . "',
    '"
    . $nome . "',
    '"
    . $cognome . "',
    '"
    . $age . "',
    '"
    . $city . "',
    '"
    . $hobby . "');");

    echo
    "Grazie!<br>Registrazione effettuata correttamente!";
    }
    else
    {
    echo
    "Errore!<br>Non hai compilato tutti i campi obbligatori.";
    }
    }

    @
    mysql_close();
    ?>
    login.php (il login)

    Codice PHP:
    <?php
    require("config.php");

    echo
    "<h1>Login</h1>\n";

    // Parte A
    if ($action == FALSE)
    {
    $user = "";
    $query = @mysql_query("SELECT * FROM members ORDER BY nome ASC");
    while(
    $result = @mysql_fetch_array($query))
    {
    $user .= "<option value=\"" . $result[0] . "\">" . $result[1] . "</option>\n";
    }

    echo
    "<form action=\"./login.php\" method=\"post\">\n";
    echo
    "<table width=\"100%\" border=\"0\">\n";
    echo
    "<tr>\n";
    echo
    "<td width=\"8%\"><strong>Username</strong></td>\n";
    echo
    "<td width=\"92%\">\n";
    echo
    "<select name=\"user\">\n";
    echo
    "<option>Seleziona...</option>\n";
    echo
    $user;
    echo
    "</select>\n";
    echo
    "</td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Password</strong></td>\n";
    echo
    "<td><input type=\"password\" name=\"pass\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td colspan=\"2\">\n";
    echo
    "<input type=\"hidden\" name=\"action\" value=\"login\">\n";
    echo
    "<input type=\"submit\" value=\" Login! \">\n";
    echo
    "</td>\n";
    echo
    "</tr>\n";
    echo
    "</table>\n";
    echo
    "</form>\n";
    }

    // Parte B
    else
    {
    if (
    $user == TRUE && $pass == TRUE)
    {
    $query = @mysql_query("SELECT * FROM members WHERE id = $user");
    $result = @mysql_fetch_array($query);
    if (
    $pass == $result[2])
    {

    @
    setcookie("logged");
    echo
    "Ok!<br>\n";
    echo
    "Login effettuato correttamente!";
    echo
    "<a href=\"./privata.php\">Entra nella sezione privata!</a>";
    }
    else
    {
    echo
    "Errore!<br>Password errata!";
    }
    }
    else
    {
    echo
    "Errore!<br>Non hai compilato tutti i campi obbligatori.";
    }
    }

    @
    mysql_close();
    ?>
    user.php (profilo)

    Codice PHP:
    <?php
    require("config.php");

    $query = @mysql_query("SELECT * FROM members WHERE id = $id");
    $result = @mysql_fetch_array($query);

    echo
    "<h1>Profilo</h1>\n";
    echo
    "<table width=\"100%\" border=\"0\">\n";
    echo
    "<tr>\n";
    echo
    "<td width=\"10%\"><strong>Nome</strong></td>\n";
    echo
    "<td width=\"90%\">" . $result[3] . "</td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Cognome</strong></td>\n";
    echo
    "<td>" . $result[4] . "</td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Età</strong></td>\n";
    echo
    "<td>" . $result[5] . "</td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Città</strong></td>\n";
    echo
    "<td>" . $result[6] . "</td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td valign=\"top\"><strong>Hobby</strong></td>\n";
    echo
    "<td>" . str_replace("\n", "<br>", $result[7]) . "</td>\n";
    echo
    "</tr>\n";
    echo
    "</table>\n";

    @
    mysql_close();
    ?>
    check.php (controllo login)

    Codice PHP:
    <?php
    if (!isset($_COOKIE["logged"]))
    {
    echo
    "Non sei ancora loggato!<br>\n";
    require(
    "login.php");
    exit();
    }
    ?>
    memberlist.php (tutti i membri)

    Codice PHP:
    <?php
    require("config.php");

    $memberslist = "";
    $query = @mysql_query("SELECT * FROM members ORDER BY nome ASC");
    while(
    $result = @mysql_fetch_array($query))
    {
    $memberslist .= "<tr>";
    $memberslist .= "<td><a href=\"./user.php?id=" . $result[0] . "\">" . $result[3] . "</a></td>\n";
    $memberslist .= "</tr>\n";
    }

    echo
    "<h1>Lista</h1>\n";
    echo
    "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">\n";
    echo
    "<tr>";
    echo
    "<td><strong>Nome/nick</strong></td>\n";
    echo
    "</tr>\n";
    echo
    $memberslist;
    echo
    "</table>\n";

    @
    mysql_close();
    ?>

    cosa c'è di sbagliato?
    e un ultima cosa... come faccio a fare anche il link per il logout? Con "session_destroy()" ?

  2. #2
    Guest

    Predefinito

    Prova a modificare il join così
    Codice PHP:
    <?php
    require("config.php");

    echo
    "<h1>Registrazione</h1>\n";
    if (!@
    $_POST['action'])
    {
    echo
    "<form action=\"./join.php\" method=\"post\">\n";
    echo
    "<table width=\"100%\" border=\"0\">\n";
    echo
    "<tr>\n";
    echo
    "<td width=\"9%\"><strong>Username *</strong></td>\n";
    echo
    "<td width=\"91%\"><input name=\"user\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Password *</strong></td>\n";
    echo
    "<td><input name=\"pass\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Nome *</strong></td>\n";
    echo
    "<td><input name=\"nome\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Cognome</strong></td>\n";
    echo
    "<td><input name=\"cognome\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Età *</strong></td>\n";
    echo
    "<td><input name=\"age\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td><strong>Città</strong></td>\n";
    echo
    "<td><input name=\"city\" type=\"text\"></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr>\n";
    echo
    "<td valign=\"top\"><strong>Hobby *</strong></td>\n";
    echo
    "<td><textarea name=\"hobby\"></textarea></td>\n";
    echo
    "</tr>\n";
    echo
    "<tr align=\"center\">\n";
    echo
    "<td colspan=\"2\"><input type=\"hidden\" name=\"action\" value=\"join\"><input type=\"submit\" value=\" Join! \"></td>\n";
    echo
    "</tr>\n";
    echo
    "</table>\n";
    echo
    "</form>\n";
    }
    else
    {
    if (@
    $_POST['user'] && @$_POST['pass'] && @$_POST['nome'] && @$_POST['age'] && @$_POST['hobby'])
    {
    if (!@
    $_POST['cognome']) $cognome = "n/a";
    if (!@
    $_POST['city']) $city = "n/a";
    @
    mysql_query("INSERT INTO 'members' ('user' , 'pass' , 'nome' , 'cognome' , 'age' , 'city' , 'hobby' )
    VALUES (
    '"
    . mysql_real_escape_string($_POST['user']) . "',
    '"
    . mysql_real_escape_string($_POST['pass']) . "',
    '"
    . mysql_real_escape_string($_POST['nome']) . "',
    '"
    . mysql_real_escape_string($_POST['cognome']) . "',
    '"
    . mysql_real_escape_string($_POST['age']) . "',
    '"
    . mysql_real_escape_string($_POST['city']) . "',
    '"
    . mysql_real_escape_string($_POST['hobby']) . "');");

    echo
    "Grazie!<br>Registrazione effettuata correttamente!";
    }
    else
    {
    echo
    "Errore!<br>Non hai compilato tutti i campi obbligatori.";
    }
    }

    @
    mysql_close();
    ?>

Regole di scrittura

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