Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: iscrizione utenti

  1. #1

    iscrizione utenti

    Salve a tutti,
    ho creato grazie ad una guida un'iscrizione utenti con conferma e password reminder.
    Questo codice permetteva solo di iscriversi con e-mail e password.
    Ma io volevo l'iscrizione con username, nome, e-mail e password e quindi il codice del form dell'iscrizione l'ho modificato da così (che funziona perfettamente ma è solo con e-mail e password):
    Codice PHP:
    <?php
    // controllo sul parametro d'invio
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))

      
    // controllo sul formato dell'email
      
    if((!isset($_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$"$_POST['email'])))
      {
        echo 
    "Attenzione, formato email non valido.";
      }else{
        
    // se i parametri sono corretti popoliamo il database
        
    $email $_POST['email'];
        
    $password $_POST['password'];

        
    // ma prima controlliamo che la mail non sia già presente includiamo il file di configurazione
        
    @include "config.php";

        
    $ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_mail)>0)
        {
          echo 
    "L'email risulta già stata registrata.";
        }else{
          
    // query d'inserimento
          
    if(@mysql_query("INSERT INTO iscrizioni (email, password) VALUES('$email','$password')") or die (mysql_error()))
          {
            
    // messaggio di conferma
            
    echo "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";

            
    // email per la conferma
            // intestazioni
            
    $headers "From: $admin_email\nreply-To: noreply\r\n";
            
    $subject "Conferma la tua iscrizione a Robyonweb.";
            
    //corpo del messaggio
            
    $messaggio "Ti ringraziamo per la tua iscrizione.\n";
            
    $messaggio .= "La tua user è: ".$email."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url]http://www.robyonweb.com/iscrizione/login[/url]";
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n"
            
    // invio dell'email
            
    @mail($emailstripslashes($subject),stripslashes($messaggio),$headers);
          }
        }
      } 
    }else{
      
    // form per l'iscrizione
      
    ?>
    <h1>Modulo d'iscrizione:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Email:

    <input name="email" type="text" size="20">

    Password: (max 10 caratteri alfanumerici)

    <input name="password" type="password" size="20" maxlength="10">

    <input name="submit" type="submit" value="Iscriviti">
    </form>
      <?
    }
    ?>
    a così (modificando anche il sistema del controllo password):
    Codice PHP:
    <?php
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))

      if((!isset(
    $_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$"$_POST['email'])))
      {
        echo 
    "Attenzione, formato email non valido.";
      }else{
        
    $email $_POST['email'];
        
    $user $_POST['user'];
        
    $password $_POST['password'];

        @include 
    "config.php";

        
    $ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_mail)>0)
        {
          echo 
    "L'email risulta già stata registrata.";
        {

        
    $ctrl_user = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_user)>0)
        {
          echo 
    "L'username è già stato utilizzato.";

        }else{
          if(@
    mysql_query("INSERT INTO iscrizioni (email, username, nome, password,) VALUES('$email','$username','$nome','$password')") or die (mysql_error()))
          {

            echo 
    "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";

            
    $headers "From: $admin_email\nreply-To: noreply\r\n";
            
    $subject "Conferma la tua iscrizione a robyonweb.com.";
        
    $messaggio "Benvenuto $nome,";
        
    $messaggio .= "Ti ringraziamo per la tua iscrizione.\n";
            
    $messaggio .= "La tua user è: ".$user."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url]http://www.sito.it/conferma.php[/url] ";
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n";
        
    $messaggio .= "Adesso portai accedere a molte più funzionalità di robyonweb.com!\n";
            
            @
    mail($emailstripslashes($subject),stripslashes($messaggio),$headers);
          }
        }
      }
    ?>
    <h1>Modulo d'iscrizione:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Email:

    <input name="email" type="text" size="20">

    Username:

    <input name="user" type="text" size="20">

    Nome:

    <input name="nome" type="text" size="20">

    Password:

    <input name="password" type="password" size="20" maxlength="10">

    <input name="submit" type="submit" value="Iscriviti">
    </form>
    <?
    }
    ?>
    Però quando vado a visualizzare la pagina mi esce quest'errore:
    "Parse error: parse error in D:\Inetpub\webs\robyonwebcom\iscrizione\form_iscri zione.php on line 60"
    Come mai?
    Cosa c'è che non va???
    Rispondetemi perfavore.
    Steave67

  2. #2
    Prova così

    Codice PHP:
    <?php
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))
    {
      if((!isset(
    $_POST['email'])) || (!eregi("^([a-z0-9._-]+)(@[a-z0-9.-]+)(.{1}[a-z]{2,4})$"$_POST['email'])))
      {
        echo 
    "Attenzione, formato email non valido.";
      }
      else
      {
        
    $email $_POST['email'];
        
    $user $_POST['user'];
        
    $password $_POST['password'];

        @include 
    "config.php";

        
    $ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_mail)>0)
        {
          echo 
    "L'email risulta già stata registrata.";
        }

        
    $ctrl_user = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_user)>0)
        {
          echo 
    "L'username è già stato utilizzato.";

        }
        else
        {
          if(@
    mysql_query("INSERT INTO iscrizioni (email, username, nome, password,) VALUES('$email','$username','$nome','$password')") or die (mysql_error()))
          {

            echo 
    "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";

            
    $headers "From: $admin_email\nreply-To: noreply\r\n";
            
    $subject "Conferma la tua iscrizione a robyonweb.com.";
        
    $messaggio "Benvenuto $nome,";
        
    $messaggio .= "Ti ringraziamo per la tua iscrizione.\n";
            
    $messaggio .= "La tua user è: ".$user."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url="http://www.sito.it/conferma.php"][url]http://www.sito.it/conferma.php[/url][/url] ";
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n";
        
    $messaggio .= "Adesso portai accedere a molte più funzionalità di robyonweb.com!\n";
            
            @
    mail($emailstripslashes($subject),stripslashes($messaggio),$headers);
          }
        }
      }
    ?>
    <h1>Modulo d'iscrizione:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Email:

    <input name="email" type="text" size="20">

    Username:

    <input name="user" type="text" size="20">

    Nome:

    <input name="nome" type="text" size="20">

    Password:

    <input name="password" type="password" size="20" maxlength="10">

    <input name="submit" type="submit" value="Iscriviti">
    </form>
    <?
    }
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Codice PHP:
    $messaggio .= "La tua user è: ".$user."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url="http://www.sito.it/conferma.php"]<a href="http://www.sito.it/conferma.php" target="_blank">[url]http://www.sito.it/conferma.php[/url][/url]</a> ";
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n"
    Cambia le apici del terzo $messaggio nel a href, da " a ', o fai l'escape

    $messaggio .= "Per confemare vai alla pagina <a href=\"http://www.sito.it/conferma.php\" target=\"_blank\"><a href=\"http://www.sito.it/conferma.php\" target=\"_blank\">http://www.sito.it/conferma.php</a></a> ";

    o

    $messaggio .= "Per confemare vai alla pagina <a href='http://www.sito.it/conferma.php' target='_blank'>http://www.sito.it/conferma.php</a> ";

  4. #4
    Si anche questo, ma nel pezzo che ho corretto io c'era una parentesi di chiusura, al contrario

  5. #5
    Scusa te non so come mai ma in teoria non c'è l'<a href ecc....>
    L'ha messo solo quando ho copiato tutto il codice quindi il codice è così:
    Codice PHP:
    <?php
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))

      if((!isset(
    $_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$"$_POST['email'])))
      {
        echo 
    "Attenzione, formato email non valido.";
      }else{
        
    $email $_POST['email'];
        
    $user $_POST['user'];
        
    $password $_POST['password'];

        @include 
    "config.php";

        
    $ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_mail)>0)
        {
          echo 
    "L'email risulta già stata registrata.";
        {

        
    $ctrl_user = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_user)>0)
        {
          echo 
    "L'username è già stato utilizzato.";

        }else{
          if(@
    mysql_query("INSERT INTO iscrizioni (email, username, nome, password,) VALUES('$email','$username','$nome','$password')") or die (mysql_error()))
          {

            echo 
    "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";

            
    $headers "From: $admin_email\nreply-To: noreply\r\n";
            
    $subject "Conferma la tua iscrizione a robyonweb.com.";
            
    $messaggio "Benvenuto $nome,";
            
    $messaggio .= "Ti ringraziamo per la tua iscrizione.\n";
            
    $messaggio .= "La tua user è: ".$user."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url]http://www.sito.it/conferma.php[/url]";
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n";
        
    $messaggio .= "Adesso portai accedere a molte più funzionalità di robyonweb.com!\n";
            
            @
    mail($emailstripslashes($subject),stripslashes($messaggio),$headers);
          }
        }
      }
    ?>
    <h1>Modulo d'iscrizione:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Email:

    <input name="email" type="text" size="20">

    Username:

    <input name="user" type="text" size="20">

    Nome:

    <input name="nome" type="text" size="20">

    Password:

    <input name="password" type="password" size="20" maxlength="10">

    <input name="submit" type="submit" value="Iscriviti">
    </form>
        <?
    }
    ?>
    Vabbè l'ha messo ancora ma comunque non ci dovrebbe essere!
    Di che parentesi parlavi???

  6. #6
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    Originariamente inviato da steave67
    ......
    Di che parentesi parlavi???
    alla linea 18
    L'errore iniziale te lo segnalava alla linea 60 , in pratica alla fine di tutto il sorgente, ma dovrebbe andare a posto se controlli quella parentesi.
    ciao

  7. #7
    Adesso invece non mi visualizza niente ed il codice è questo (senz <a href....> naturalmente):
    Codice PHP:
    <?php
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))

      if((!isset(
    $_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$"$_POST['email'])))
      {
        echo 
    "Attenzione, formato email non valido.";
      }else{
        
    $email $_POST['email'];
        
    $user $_POST['user'];
        
    $password $_POST['password'];

        @include 
    "config.php";

        
    $ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_mail)>0)
        {
          echo 
    "L'email risulta già stata registrata.";
        }

        
    $ctrl_user = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_user)>0)
        {
          echo 
    "L'username è già stato utilizzato.";

        }else{
          if(@
    mysql_query("INSERT INTO iscrizioni (email, username, nome, password,) VALUES('$email','$username','$nome','$password')") or die (mysql_error()))
          {

            echo 
    "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";

            
    $headers "From: $admin_email\nreply-To: noreply\r\n";
            
    $subject "Conferma la tua iscrizione a robyonweb.com.";
        
    $messaggio "Benvenuto $nome,";
        
    $messaggio .= "Ti ringraziamo per la tua iscrizione.\n";
            
    $messaggio .= "La tua user è: ".$user."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url]http://www.sito.it/conferma.php[/url] ";
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n";
        
    $messaggio .= "Adesso portai accedere a molte più funzionalità di robyonweb.com!\n";
            
            @
    mail($emailstripslashes($subject),stripslashes($messaggio),$headers);
          }
        }
      }
    ?>
    <h1>Modulo d'iscrizione:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Email:

    <input name="email" type="text" size="20">

    Username:

    <input name="user" type="text" size="20">

    Nome:

    <input name="nome" type="text" size="20">

    Password:

    <input name="password" type="password" size="20" maxlength="10">

    <input name="submit" type="submit" value="Iscriviti">
    </form>
    <?
    }
    ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Ancora con sto $messaggio senza l'escape?

    Lo puoi fare?

  9. #9
    Grazie per l'interessamento, ma ancora non funziona!
    Mi da' il seguente errore:
    Parse error: parse error in D:\Inetpub\webs\robyonwebcom\iscrizione\form_iscri zione.php on line 38
    che sarebbe la linea del messaggio.
    Il codice adesso è così:
    Codice PHP:
    <?php
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Iscriviti"))

      if((!isset(
    $_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$"$_POST['email'])))
      {
        echo 
    "Attenzione, formato email non valido.";
      }else{
        
    $email $_POST['email'];
        
    $user $_POST['user'];
        
    $password $_POST['password'];

        @include 
    "config.php";

        
    $ctrl_mail = @mysql_query("SELECT id FROM iscrizioni WHERE email='$email'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_mail)>0)
        {
          echo 
    "L'email risulta già stata registrata.";
        }

        
    $ctrl_user = @mysql_query("SELECT id FROM iscrizioni WHERE user='$user'") or die (mysql_error());
        if(@
    mysql_num_rows($ctrl_user)>0)
        {
          echo 
    "L'username è già stato utilizzato.";

        }else{
          if(@
    mysql_query("INSERT INTO iscrizioni (email, username, nome, password,) VALUES('$email','$username','$nome','$password')") or die (mysql_error()))
          {

            echo 
    "Conferma l'iscrizione tramite la mail che ti abbiamo inviato.";

            
    $headers "From: $admin_email\nreply-To: noreply\r\n";
            
    $subject "Conferma la tua iscrizione a robyonweb.com.";
        
    $messaggio "Benvenuto $nome,";
        
    $messaggio .= "Ti ringraziamo per la tua iscrizione.\n";
            
    $messaggio .= "La tua user è: ".$user."\n";
            
    $messaggio .= "La tua password è: ".$password."\n";
            
    $messaggio .= "Per confemare vai alla pagina [url='http://www.sito.it/conferma.php'][url]http://www.sito.it/conferma.php[/url][/url]
            
    $messaggio .= "e inserisci i dati per l'autenticazione.\n";
        $messaggio .= "Adesso portai accedere a molte più funzionalità di robyonweb.com!\n";
        $messaggio .= "Lo STAFF di robyonweb.com!\n";
            
            @mail($email, stripslashes($subject),stripslashes($messaggio),$headers);
          }
        }
      }
    ?>
    <h1>Modulo d'
    iscrizione:</h1>
    <
    form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Email:

    <
    input name="email" type="text" size="20">

    Username:

    <
    input name="user" type="text" size="20">

    Nome:

    <
    input name="nome" type="text" size="20">

    Password:

    <
    input name="password" type="password" size="20" maxlength="10">

    <
    input name="submit" type="submit" value="Iscriviti">
    </
    form>
    <?
    }
    ?>
    Quindi????

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Sempre l'escape è il problema. Non l'hai fatto per il resto della riga.

    $messaggio .= "Per confemare vai alla pagina <a href="http://www.sito.it/conferma.php" target="_blank">http://www.sito.it/conferma.php</a>


    Sostituisci tutte le doppie apici (") in singole (').

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.