Visualizzazione risultati 1 fino 9 di 9

Discussione: Problema pagina registrazione in php

  1. #1
    Guest

    Predefinito Problema pagina registrazione in php

    Premetto che di php ci capisco relativamente poco, ho seguito un paio di guide e comprendo le basi del linguaggio, ma dovendo creare un login per il mio sito, ho seguito questa guida:

    http://www.isola-atlantide.com/tutor...egistrati.html

    però quando cerco di aprire nel mio sito la pagina registration.php mi compaiono svariati simboli in cinese! Ho cercato nel forum di altervista "simboli" "problema php" e "registrazione login" ma non ho trovato soluzione, quindi spero di non essere in errore aprendo questa discussione.
    la pagina in questione è:

    http://ugomarpione.altervista.org/ut...gistration.php

    e volevo capire se qualcuno di voi riesce a capire perchè mi da questo problema
    (ps: ho già attivato il database mysql e scritto le determinate query)

  2. #2
    Guest

    Predefinito

    Mmm... posta il codice sorgente di questo file! XD
    Credo sia un problema di codifica! xD

  3. #3
    Guest

    Predefinito Ecco il codice

    Ecco il codice

    <?php
    //include header.php
    include('../site/header.php');

    //collegamento al database
    require_once('../site/config.php');

    //controlla se l'utente è gia loggato
    if($_SESSION['logged_in']==1)

    //reindirizzamento alla home page se è già loggato
    header('Location: http:ugomarpione.altervista.org');

    //l'utente non è loggato
    else {
    //il modlo non è ancora stato inviato
    if(isset($HTTP_POST_VARS['submit']))
    {
    //controlla dati relativi all'username
    if (!$_POST['username']) die('Attenzione : il campo username è vuoto');
    #
    //array di caratteri non ammessi
    $bad = array('.' , ',' , '/' , '`' , ';' , '[' , ']' , '-',
    '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')',
    '|', '{', '}', '<', '>', '?', ':', '"', '=');

    //controlla lunghezza username
    $len = strlen($_POST['username']);

    //sostituisce caratteri non ammessi
    $_POST['username'] = str_replace($bad, ' ', $_POST['username']);
    $dato = $_POST['username'];

    //se le lunghezze sono differenti sono stati utilizzati caratteri non ammessi
    if(strlen($dato) != $len) {
    die ('Hai usato dei caratteri non validi nel campo username. Puoi usare solo lettere, numeri e il trattino basso _ !!');
    }
    //controlla se l'username è gia utilizzato nel database
    $q2 = mysql_query("SELECT * FROM `utenti` WHERE `username` = '".$_POST['username']."'");
    $q3 = mysqul_fetch_object($q2);

    if ($q3->username == $_POST['username']) {
    die('Siamo spiacenti ma l\'username "'.$q3->username.'" è già attivo nel nostro database<br>
    Per favore ne scelga un altro.');
    }
    // controlla dati relativi alla password
    if(!$_POST['password']) {
    die('errore: il campo verifica password risulta non compilato');
    }
    if($_POST['password'] !=$_POST['verify_password']) {
    die('errore: le password non corrispondono.');

    //inserisce il nuovo menmbro nel database
    $insert ="INSERT INTO `utenti` (username, user_password, user_email) VALUES ('".$_POST['username']."',
    '".md5($_POST['password'])."', '".$_POST['email']."')";

    $insert2 = mysql_query($insert);
    if(!$insert2) die(mysql_error());
    //Dati mio sito
    $web_site = 'Risveglio';
    $webmaster ='ugomarpione';
    $web_mail ='widoworblack@gmail.com';
    //fine modifica
    //Passa i dati per il login a variabili da mandare via mail all'utente
    $nome_utente = $_POST['username'];
    $pass_utente = $_POST['password'];
    $mail_utente = $_POST['email'];
    $header =From: ".$web_site . " <" . $web_mail . ">\r\n";
    //da editare
    $subject = "Dettagli registrazione";
    $message = "Gentile $nome_utente, da adesso sei un utente registrato su $web_site.
    Per usufruire dei nostri servizi devi semplicemente inserire questi dati nel login apposito:
    Username: $nome_utente
    Password: $pass_utente

    Conserva queste informazioni o meglio ancora stampa questa mail.

    Grazie infinite,
    $webmaster";
    // Spedisce la mail
    mail($mail_utente, $subject, $message, $header);
    echo('registrazione avvenuta, Benvenuto !!!<br> Le informazioni che ci hai fornito ti sono state spedite via mail.');
    }
    //il modulo non è ancora stato compilato
    else {
    ?>
    <form action="<? $_SERVER['PHP_SELF']; ?>" method="post" name="signup" id="signup">
    <fieldset>
    <legend>Compila il modulo per registrarti sul nostro sito</legend>
    <dl>
    <dt>
    <label for="username">Username: <br> (sono permessi solo lettere e numeri)</label>
    </dt>
    <dd><input type="text" id="username" name="username" value="" maxlenght="30"></dd>
    </dl>
    <dl>
    <dt>
    <label for="password">Password: <br> (minimo 6 caratteri)</label>
    </dt>
    <dd><input type="password" id="password" name="password" value="" maxlenght="30"> </dd>
    </dl>
    <dl>
    <dt>
    <label for="verify_password"Verifica password : </label>
    </dt>
    <dd><input type="password" id="verify_password" name="verify_password" value="" maxlenght="30"></dd>
    </dl<
    <dt>
    <label for="email"<Email: </label>
    </dt>
    <dd><input type="text" id="email" name="email" value="" size="30" >
    </dd>
    </dl>
    </fieldset>
    <fieldset>
    <input type="submit" id="submit" name="submit" value="invia">
    </fieldset>
    </form>
    <?php
    } //fine utente non loggato
    } //fine modulo non inviato
    ?>

  4. #4
    Guest

    Predefinito

    Correggi:
    Codice PHP:
    header('Location: http:ugomarpione.altervista.org');
    Poi correggi la variabile $header, mancano delle virgolette!

    Poi dovresti postare header.php e config.php (con eventuali password oscurate) per vedere se mandi qualche header sbagliato (probabile vedendo quello di prima).


  5. #5
    Guest

    Predefinito Ok

    Ok, grazie ecco il config

    $dbms = 'mysql';
    $dbhost = 'localhost';
    $dbname = 'my_ugomarpione';
    $dbuser = 'ugomarpione';
    $dbpasswd= '---';
    //il resto non va editato
    $db = mysql_connect ($dbhost, $dbuser, $dbpasswd);
    mysql_select_db($dbname, $db);
    ?>
    E l'header

    <?
    //parametri da editare
    //none cookies
    $nome_cookie = "login_cookie";
    //tempo scadenza cookie espresso in secondi
    $scadenza = 3600;
    //percorso del cookie, di default valido per tutte le cartelle del sito
    $percorso='/';
    //dominio del cookie
    $dominio='.altervista.com';
    //fina area modificabile
    //invia dati al buffering
    ob_start();
    //apre sessione
    session_start();
    //connessione database
    require_once('config.php');
    //controlla cookies se non siamo loggati
    if($_SESSION['logged_in'] !=1 && isset($_COOKIE['login_cookie']))
    {
    //preleva username e password dal cookie
    list($user, $pass) =explode('{}', $_COOKIE['login_']);
    //preleva username e password dal database
    $query ="SELECT `user_password` FROM `utenti` WHERE `username` = '".addslashes($user)."'";
    $result =mysql_query($query);
    if (mysql_num_rows($result) ==1)
    }
    $userQuery = mysql_fetch_object($result);
    //confronta password del cookie con password del database
    if($userQuery->user_password ==$pass)
    //se i dati coincidono apre la sessione utente
    }
    $_SESSION['logged_in'] =1;
    $_SESSION['username'] = $user;
    $username=$_SESSION['username'];
    $_SESSION['password']) $pass;
    }
    }
    mysql_free_result($result);
    }
    //non siamo loggati -> modalità ospite
    if(!isset($_SESSION['username']) && !isset($_SESSION['password']))
    }
    $_SESSION['logged_in'] =0;
    $username = "Guest";
    }
    ?>

    magari e solo qualche stupido errore che il mio editor nemmeno vede e io sono troppo scemo da notare XD in ogni caso grazie in anticipo per l'aiuto

  6. #6
    Guest

    Predefinito

    Non vedo header, quindi non credo sia problema di quello. Hai controllato la variabile che ti ho detto?

  7. #7
    Guest

    Predefinito

    ho corretto, ma mi compaiono sempre i soliti simboli in cinese... non so che fare... se continua così faccio prima a rifare tutto da capo con un altro sistema XD peccato però questo era molto completo!

  8. #8
    Guest

    Predefinito

    prova a usare dev login

  9. #9
    Guest

    Wink Grazie! :wink:

    Mille grazie, ora provo! :D

    PS: Magnifico! Ottimo sistema, semplice ed editabile! Proprio quello che cercavo, mi sei stato veramente utile! Ancora grazie!
    Ultima modifica di ugomarpione : 27-05-2009 alle ore 18.37.13

Regole di scrittura

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