Iscrizione

  • Creatore Discussione Creatore Discussione Axstro
  • Data di inizio Data di inizio

Axstro

Nuovo Utente
26 Feb 2014
14
0
0
Salve ragazzi, ho un problema con questo codice :
PHP:
<?php
@include_once 'functions.php';
$obj = new Iscrizioni();
if ($obj->verifica_sessione())
{
  @header("location:area_riservata.php");
}
if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
  $registrato = $obj->registra(htmlentities($_POST['nome_reale'], ENT_QUOTES), htmlentities($_POST['nome_utente'], ENT_QUOTES), htmlentities($_POST['password'], ENT_QUOTES), htmlentities($_POST['email'], ENT_QUOTES));
  if ($registrato) {
    echo 'Registrazione conclusa <a href="autenticazione.php">ora puoi loggarti</a>.';
  }else{
    echo 'Stai cercando di registrarti con dei dati gi&aacute; presenti nel database.';
  }
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Pagina per la registrazione</title>
</head>
<body>
<div id="container">
  <div id="main-body">
  <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="form_registrazione" name="registrazione">
    <div class="head">
      <h1>Registrazione iscritti -<a href="autenticazione.php">LOGIN</a></h1>
    </div>
    <label>Nome</label><br/>
    <input type="text" name="nome_reale" /><br/>
    <label>Nome utente</label><br/>
    <input type="text" name="nome_utente" /><br/>
    <label>Password</label><br/>
    <input type="password" name="password" /><br/>
    <label>Il tuo indirizzo di posta elettronica</label><br/>
    <input type="text" name="email" id="email" /><br/><br/>
    <input type="submit" name="registra" value="Registrami"/><br/><br/>
  </form>
  </div>
</div>
</body>
</html>
premetto che non sono un grande esperto e sto alle prime armi..il problema principale è che anche non inserendo nessun campo la registrazione funziona lo stesso..Non riesco ad inserire la funzione per dei campi obbligatori! Mi potreste aiutare?
 
Basta controllare se i campi sono vuoti. Se sono vuoti allora non va effettuata l'iscrizione.
 
Dovrebbe essere cosi?
PHP:
$var_nome = $_POST['nome_reale'];  
 if($var_nome == ""){echo"manca il nome!";exit(); }

In teoria si anche se esci brutalmente... Ma non conoscendo il codice potrebbe andare bene. Io uso un metodo diverso. Controllo tutte le variabili se rispettano le condizioni e via via setto una variabile di controllo che inserisco poi in un if. Se poi anche una sola non passa il controllo torna alla pagina di iscrizione con un header e stampo il messaggio di errore.

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
In teoria basta quello per fare ciò che chiedi. Ovviamente ci sono altri modi più eleganti e magari migliori.
 
Ciao... Non so cosa intendesse longo8 ma un metodo potrebbe essere quello descritto da me anche se magari rudimentale.... Controllo delle variabili con if else se va bene setto una variabile a 1.poi prima di inserire dati nel Db se tutte le variabili di controllo sono a 1 esegue altrimenti mi setto le variabili di sessione è torno al form precipitando i campi del form con le sessioni e avviso l'utente dell'errore nella compilazione del form

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Un metodo (oltre a quello descritto lorenzo) può essere quello di adottare dei linguaggi client-side come jquery per rendere la compilazione di un form 'user-friendly'.
 
Un metodo (oltre a quello descritto lorenzo) può essere quello di adottare dei linguaggi client-side come jquery per rendere la compilazione di un form 'user-friendly'.

Sicuramente sei più esperto di me quindi correggimi se sbaglio. La validazione con jquery non è comunque sicuro perché si può bypassare no?

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Ovvio. Ci vuole sempre un bel controllo lato back-end.
Però è bene avere anche un controllo lato client per il motivo già detto.
Questo non esclude però un controllo ben fatto lato server perché uno lato client si può facilmente bypassare.
 
Si certo anche per guidare l'utente durante la compilazione.... Che script usi per la validazione lato client?

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Lo script va fatto di volta in volta e personalizzato per il form.Comunque la validazione è bene usare il linguaggio jquery.
 
Io uso Livevalidation cercalo su Google... Ci sono gli esempi...

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Io uso Livevalidation cercalo su Google... Ci sono gli esempi...

Inviato dal mio GT-I9505 utilizzando Tapatalk

Ho provato ma non mi funziona..
PHP:
 <input type="text" id="nome_utente" name="nome_utente" />
<script type="text/javascript">
var nome_utente = new LiveValidation('nome_utente');
campo.add(Validate.Presence);
</script>
 
Al posto di campo. Add metti nome_utente. Add scusa non avevo visto la notifica...

Inviato dal mio GT-I9505 utilizzando Tapatalk
 
Al posto di campo. Add metti nome_utente. Add scusa non avevo visto la notifica...

Inviato dal mio GT-I9505 utilizzando Tapatalk

PHP:
    <input type="text" id="nome_utente" name="nome_utente" /> 
<script type="text/javascript"> 
var nome_utente = new LiveValidation('nome_utente'); 
nome_utente.add(Validate.Presence); 
</script>
Non funziona lo stesso nella registrazione se non inserisco il campo non mi fa registrare ma se lo inserisco nel database quello spazio me lo segna come vuoto
Secondo me sbaglio id="nome_utente" come faccio a sapere quel e l'id?>.<
 

Discussioni simili