ciao, ho creato login, pagina riservata e tutto, a mi manca la pagina della registrazione e non so' come fare ?
ciao, e grazie in anticipo
ciao, ho creato login, pagina riservata e tutto, a mi manca la pagina della registrazione e non so' come fare ?
ciao, e grazie in anticipo
...SeGuImOs En PiE...!!!
Devi semplicemente creare un form e una pagina che inserisca i dati nel database (ammesso e concesso tu ti stia basando su di quello...).
Dato che non hai ancora ricevuto risposta ti faccio un esempio velocissimo:
registrati.html:
registrazione.php:Codice HTML:<form name="registrazione" method="post" action="registrazione.php"> Nome: <input type="text" name="nome" /><br /> E-mail: <input type="text" name="email" /><br /> <input type="submit" name="registrati" value="Registrati!" /> </form>
PS: per ogni campo in più basta inserire un nuovo field nel codice HTML, e poi devi aggiungere un nuovo controllo e modificar la query nel codice PHP.Codice PHP:
<?php
$connessione = mysql_connect("localhost", "scope", "TuaPassword") or die("Errore connessione al database");
mysql_select_db("my_scope", $connessione) or die("Errore selezione database");
if(empty($_POST['nome']) || empty($_POST['email'])) {
header("Location: registrati.html");
exit;
} else {
mysql_query("INSERT INTO tabella_registrazione (nome, email) VALUES ('".$_POST['nome']."', '".$_POST['email']."')") or die("Errore inserimento dati");
echo("Dati inseriti: ti sei registrato!");
}
?>
Ultima modifica di tryphpnuke : 19-06-2006 alle ore 09.29.47
ciao, scusa ma nn ci capisco nulla.
Al posto di ("localhost", "scope", "TuaPassword")Che ci devo mettere??
ciao e grazie
...SeGuImOs En PiE...!!!
Devi mettere:
Codice PHP:
mysql_connect("localhost", "scope", "QUI-METTI-LA-PASSWORD-DEL-PANNELLO-DI-CONTROLLO-DI-AV")
a ho capito però io nn uso mysql
...SeGuImOs En PiE...!!!
E cosa usi per registrare gli utenti e quindi per fare il controllo all'atto del login?Originalmente inviato da scope
Ciaoooo!!!
Per registrare niente...per l'atto del login invia.php;
Ho trovato questo script su html.it e serve per proteggere pagine ed io vorrei trasformarlo in un'area riservata quindi con la pagina della registrazione.
...SeGuImOs En PiE...!!!
per registrare degli utenti devi avere un database MySql attivo con cui interagire (questa è una via)Originalmente inviato da scope
altrimenti non puoi fare nulla.
gli utenti si registrano al sito, incidendo un database.
li dentro ci saranno UN e PW.
ogni volta li farai loggare con un altro form.
quando si loggano, se le info sono presenti nel database avvierai una SESSIONE, che ti consentirà per ogni pagina di verificare se l'utente ha il diritto di visualizzare la pagina o meno.
ma senza una struttura di appoggio, tipo DB, non puoi fare nulla.
Altrimenti un alternativa sarebbe lavorare con dei file di testo, però la cosa è più complicata perché devi leggere il file, usare degli explode e riscrivere nel file senza sovrascrivere i file...
utenti.txt:
registrati.htmlCodice:array("nick" => "Topolino", "pass" => "Minnie", "email" => "topolino@disney.it") array("nick" => "Paperino", "pass" => "Paperina", "email" => "paperino@disney.it")
registrazione.php:Codice HTML:<form name="registrazione" method="post" action="registrazione.php"> Nome: <input type="text" name="nick" /><br /> E-mail: <input type="text" name="email" /><br /> Password: <input type="password" name="pass" /><br /> <input type="submit" name="registrati" value="Registrati!" /> </form>
L'ho fatto in 2 minuti, quindi non garantisco che funzioni!Codice PHP:
<?php
session_start();
if(empty($_POST['nick']) || empty($_POST['pass']) || empty($_POST['email'])) {
// Campi vuoti: rimando alla pagina di registrazione
header("Location: registrati.html");
exit;
} else {
$handle = @fopen("utenti.txt", "a+");
$contenuto = fread($handle, filesize("utenti.txt"));
$stringa_da_inserire = "array(\"nick\" => \"".$_POST['nick']."\", \"pass\" => \"".$_POST['pass']."\", \"email\" => \"".$_POST['email']."\")";
$utenti = explode("\n", $contenuto);
if (in_array($stringa_da_inserire, $utenti)) {
die("Dati già presenti");
} else {
fwrite("\n".$stringa_da_inserire, $handle);
echo("Ti sei registrato!");
// Setto le variabili di sessione...
$_SESSION['user'] = $_POST['nick'];
$_SESSION['email'] = $_POST['email'];
}
}
?>
Ah... non controlla (purtroppo) se l'utente è già presente, ma non mi andava!
Ultima modifica di tryphpnuke : 20-06-2006 alle ore 15.36.55
si ma secondo me conviene usare un DB
il form funziona solo che uno si può registrare + volte....p.s. l'ho messo nell'home del mio sito.... si dovrebbe creare una if che controlli ke il nome o mejo l'email sia gia presente e se si mandi un messaggio d'errore...(poi se spingo il pulsante registrati senza aver inserito alcun dato mi va su un altra pagina,registrazione.html ,ke ovviamente nn esiste)......ma ovviamente nn so come si scrive l'istruzione :DOriginalmente inviato da tryphpnuke
Ultima modifica di zuluk : 21-06-2006 alle ore 10.51.55
Per il primo problema dovresti creare un altro explode() e un in_array() all'interno di un if... Per il secondo, invece basta fare così:
Codice PHP:
<?php
// Sostituisci questa stringa:
header("Location: registrati.html");
// Con questa stringa:
header("Location: paginachevuoi.html");
?>
Per il primo problema dovresti creare un altro explode() e un in_array() all'interno di un if... Per il secondo, invece basta fare così:
--------------------------------------------------------------------------
Scusate partiamo dal presupposto che io nn ci capisco nulla di php, come si crea un explode()?e un in_array()?
Ultima modifica di scope : 21-06-2006 alle ore 13.00.49 Motivo: domanda nn citata
...SeGuImOs En PiE...!!!
Beh, se non ci capisci nulla di PHP ti conviene partire da cose più semplici, come le variabili e funzioni basilari (o almeno io ho fatto così, ma è anche vero che io non sono un genio!)... Comunque un explode funziona così:
explode(carattere di separazione, stringa)
Esempio:
Per quanto riguarda l'in_array() restituisce TRUE se l'elemento specificato è presente nell'array. Riprendendo l'esempio di prima:Codice PHP:
<?php
$stringa = "Paolo-Luca-Francesco-Gabriele-Simone";
$nomi = explode("-", $stringa);
// $ nomi adesso ha lo stesso valore di
$nomi = array("Paolo", "Luca", "Francesco", "Gabriele", "Simone");
?>
Ti consiglio comunque di cominciare da cose più basilari...! Poi ci arriverai!Codice PHP:
<?php
if (in_array("Paolo", $nomi)) {
echo "Paolo è nell'array";
} else {
echo "Paolo non è nell'array";
}
// Questo esempio visualizzerà Paolo è nell'array, ma se avessi inserito, ad esempio Mattia il risultato sarebbe cambiato.
?>
azz....in linea di massima l'ho capito cioè ho capito come funziona il flusso di dati....ma (anke io nn sono un esperto di php) nn so come implementarlo nel file registrazione.php ...se qualcuno può indirizzarmi...poi giuro ke me lo studio:) ....o almeno indirizzarmi un capitolo o un paragrafo ke lo spieghi in maniera chiara
grazie a tutti per l'aiuto ma sul forum del sito di tryphpnuke ho trovato una discussione in cui parlavano dell'aree riservate ho seguito quella guida e adesso funziona tutto alla perfezzione ciao e grazie 1000 a tutti
...SeGuImOs En PiE...!!!
Prego, non c'è di che!! (sono io "Visitatore :)" )Originalmente inviato da scope
help me
Come da regolamento, non riesumare topic vecchi.
Questo è la seconda discussione che porti a galla. Il topic è stato aperto 5 anni fa.
Fai una ricerca sul forum e, se non riesci a trovare ciò che cerchi, puoi aprire una nuova discussione.