Visualizzazione risultati 1 fino 3 di 3

Discussione: Dati form non inviati php 5

  1. #1
    Guest

    Predefinito Dati form non inviati php 5

    Allora, per inviare i dati di registrazione alla tabella 'users' uso questo codice:

    Codice PHP:
    <?php

    // Parametri di connessione

    class MysqlClass
    {

    private
    $nomehost = "localhost";
    private
    $nomeuser = "root";
    private
    $password = "";
    private
    $database = "utenti";

    private
    $attiva = false;
    public function
    connetti()
    {
    if(!
    $this->attiva)
    {
    if(
    $connessione = mysql_connect($this->nomehost,$this->nomeuser,$this->password)){
    {
    $selezione = mysql_select_db($this->database);
    }
    }else{
    return
    true;
    }
    }

    }

    public function
    inserisci($t,$v,$r = null)
    {
    if(isset(
    $this->attiva))
    {
    $istruzione = 'INSERT INTO users';
    // $query = mysql_query($istruzione) or die (mysql_error());

    if($r != null)
    {
    $istruzione .= ' ('.$r.')';
    }
    for(
    $i = 0; $i < count($v); $i++)
    {
    if(
    is_string($v[$i]))
    $v[$i] = '"'.$v[$i].'"';
    }

    $v = implode(',',$v);
    $istruzione .= ' VALUES ('.$v.')';

    $query = mysql_query($istruzione) or die (mysql_error());

    }else{
    return
    false;
    }

    }


    }
    $data = new MysqlClass();
    $data->connetti();
    if(!isset(
    $_POST['registrati'])){
    ?>
    <form method="post">
    Nome utente: <input type="text" name="username" required />
    <p>
    Password: <input type="password" name="password" required />
    <p>
    Nome: <input type="text" name="nome" required />
    <p>
    Cognome: <input type="text" name="cognome" required />
    <p>
    <input type="submit" name="registrati" value="Registrati ora!">
    </p>
    </form>
    <?php
    } else {

    $username = mysql_real_escape_string($_POST['username']);
    $pass = mysql_real_escape_string($_POST['password']);
    $nome = mysql_real_escape_string($_POST['nome']);
    $cognome = mysql_real_escape_string($_POST['cognome']);

    if(
    strlen($username) < 3 || strlen($username) > 20) {
    echo
    "L'username deve contenere da 3 a 20 caratteri. <p> <a href='javascript:history.go(-1)'><font color='blue'>Indietro</font></a>";
    }elseif(
    strlen($pass) < 5 || strlen($pass) > 25){
    echo
    "La password deve contenere da 5 a 25 caratteri. <p> <a href='javascript:history.go(-1)'><font color='blue'>Indietro</font></a>";
    }elseif(
    strlen($nome) < 2 || strlen($nome) > 15){
    echo
    "Il nome deve contenere da 2 a 15 caratteri. <p> <a href='javascript:history.go(-1)'><font color='blue'>Indietro</font></a>";
    }elseif(
    strlen($cognome) < 3 || strlen($cognome) > 20){
    echo
    "Il cognome deve contenere da 3 a 20 caratteri. <p> <a href='javascript:history.go(-1)'><font color='blue'>Indietro</font></a>";
    } elseif(
    mysql_num_rows(mysql_query("SELECT USERNAME FROM utenti WHERE USERNAME = '$username'")) == 1){
    echo
    "Il nome utente scelto č giā in uso. <p> <a href='javascript:history.go(-1)'><font color='blue'>Indietro</font></a>";
    } else {

    $table = "users";
    $valore = array ('$username', '$pass', '$nome', '$cognome');
    $campo= "USERNAME, PASSWORD, NOME, COGNOME";
    $data->inserisci($table,$valore,$campo);
    }
    }
    ?>
    Solo che, quando la registrazione viene eseguita, non invia i dati, ma invia

    Codice PHP:
    $username $pass $nome $cognome
    Come mai? Dove sbaglio? Ho provato anche a modificare $valore in questo modo

    Codice PHP:
    $valore = array ('$this->username', '$this->pass', '$this->nome', '$this->cognome');
    Ma non essendo oggetti non posso usare $this.. Potreste aiutarmi?

  2. #2
    L'avatar di miki92
    miki92 non č connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Modifica
    Codice PHP:
    $valore = array ('$username', '$pass', '$nome', '$cognome');
    In
    Codice PHP:
    $valore = array ($username, $pass, $nome, $cognome);
    Gli apici non valorizzano le variabili, le virgolette si. Ma in questo caso possono anche essere omesse.
    Ultima modifica di miki92 : 29-09-2013 alle ore 10.31.27
    Apprezzi l'aiuto? Offrimi un caffč!

  3. #3
    Guest

    Predefinito

    Grazie mille, ci credi che non ci avevo pensato? Chi sā dove ho la testa, ancora grazie :)

Regole di scrittura

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