Visualizzazione risultati 1 fino 7 di 7

Discussione: Errore nella registrazione

  1. #1
    Guest

    Predefinito Errore nella registrazione

    Quando accedo alla pagina Registrazione.php dopo aver inserito tutti i dati indicati attraverso la pagina registrati, mi dice: Column count doesn't match value count at row 1 !!!
    Cosa vuol dire???
    Mi sapete aiutare???
    Metto i codici di entrambe le pagine.
    Pagina Registrati.html
    Codice HTML:
    <form method="POST" action="/Registrazione" ><br>
    La tua Email
    <input type="text" name="email" ><br>
    Il tuo username (lo userai per accedere al tuo account)
    <input type="text" name="username" ><br>
    La tua password (la userai per accedere al tuo account)
    <input type="text" name="password" ><br>
    Il nome del tuo clan
    <input type="text" name="nome_clan" ><br>
    Il livello del tuo clan
    <input type="text" name="livello_clan" ><br>
    Il numero dei membri del tuo clan
    <input type="text" name="membri_clan" ><br>
    <input type="submit" name="OK" value="OK">
    </form>
    Pagina Registrazione.php
    Codice PHP:
    <?php
    $host
    ="localhost"; // Hostname
    $username="theclashclan"; // Mysql username
    $password=""; // Mysql password
    $db_name="my_theclashclan"; //Nome del Database
    $tbl_name="Utenti_Clan"; // Nome della Tabella
    $db = mysql_connect($localhost,$username,$password);
    mysql_select_db($db_name,$db);

    $id = $_POST['id'];
    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];
    $nome_clan = $_POST['nome_clan'];
    $livello_clan = $_POST['livello_clan'];
    $membri_clan = $_POST['membri_clan'];

    mysql_query("INSERT INTO ".$tbl_name." (id,username,password,email,nome_clan,livello_clan,membri_clan) VALUES ('$username','$password')",$db) || die(mysql_error());

    mysql_close($db);
    ?>
    Grazie a tutti (nell' action del form c'è /Registrazione perché la pagina Registrazione.php è la index della cartella Registrazione).

  2. #2
    L'avatar di memai
    memai non è connesso Utente
    Data registrazione
    10-02-2010
    Residenza
    Bergamo
    Messaggi
    175

    Predefinito

    Devi mettere lo stesso numero di values che hai nei campi che vuoi impostare, e l'id puoi non scriverlo se lo hai impostato come auto increment

    devi scrivere così:
    Codice PHP:
    mysql_query("INSERT INTO ".$tbl_name." (username,password,email,nome_clan,livello_clan,membri_clan) VALUES ('$username','$password','$email','$nome_clan','$livello_clan','$membri_clan')",$db)
    e un consiglio per evitare hackeraggi, fai l'escape delle variabili che inserisci con mysql_real_escape_string($_POST["username"]); ad esempio
    Ultima modifica di memai : 28-05-2016 alle ore 16.57.52
    Notte bistecca, ho l'acquolina in bocca e 'sta sera c'è, carne di manzo per me!

  3. #3
    Guest

    Predefinito

    Grazie ma... ad esempio???

  4. #4
    unisatripboard non è connesso Neofita
    Data registrazione
    09-12-2015
    Messaggi
    17

    Predefinito

    Cosa ad esempio? Comunque poichè le funzioni mysql sono state eliminate in PHP 7, utilizza le mysqli.
    Per quanto riguarda la tua domanda memai ti ha già risposto.
    Tu nella INSERT che hai fatto hai messo (id,username,password,email,nome_clan,livello_clan ,membri_clan), mentre nei VALUES hai messo ('$username','$password','$email','$nome_clan','$l ivello_clan','$membri_clan') ovvero un attributo in meno. Quindi se hai il campo "id" impostato ad AUTO_INCREMENT allora toglilo dalla insert e vedrai che ti funziona. Un altro modo di scrivere la INSERT è così:
    Codice PHP:
    mysql_query("INSERT INTO ".$tbl_name." VALUES ('$username','$password','$email','$nome_clan','$livello_clan','$membri_clan')",$db)

  5. #5
    Guest

    Predefinito

    Grazie anche a te, ad esempio mi riferivo al messaggio di memai non concluso

  6. #6
    unisatripboard non è connesso Neofita
    Data registrazione
    09-12-2015
    Messaggi
    17

    Predefinito

    Ad esempio era riferito all'ultima frase che ha scritto: " un consiglio per evitare hackeraggi, fai l'escape delle variabili che inserisci con mysql_real_escape_string($_POST["username"]); "

  7. #7
    Guest

    Predefinito

    Scusate

Regole di scrittura

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