salve nn so se è la sezione giusta cmq avete qualke script ke si possa mettere nel mio sito affinkè faccia registrare gli utenti o ci vuole per forza un database? grazie in anticipo
Printable View
salve nn so se è la sezione giusta cmq avete qualke script ke si possa mettere nel mio sito affinkè faccia registrare gli utenti o ci vuole per forza un database? grazie in anticipo
porta solo script per proteggere pagine cn password
Tu hai già provato a cercare?
si magari nn li so cercare io se ne sai tu magari se mi dai solo il nome
Ti ho già dato un link e ti ho suggerito di fare una ricerca nel forum. L'hai fatto?
si l'ho trovato come crearlo cn i files di testo grazie
Prego!
nn ho capito cosa devo fare qui
-Analizziamo bene il codice
la funzione controlla_presenza() apre il file utenti.php e va alla ricerca, con un ciclo foreach del nickname dichiarato come termine della funzione (controlla_presenza($nick))
la funzione nick_pass_ok() serve ad autenticare il nick e la pass dichiarati, cercando nel file utenti.php analogamente a controlla_presenza(), con l'unica differenza che questa funzione controlla sia il nick sia la password.
Dichiariamo ora le variabili $nick e $pass contenenti i due input text della pagina form.html e rimpiazziamo il carattere |, perchè di vitale importanza nel file (serve a dividere i records) e il carattere di backslash.
Con questa riga di codice:
Codice PHP:
if(trim($nick) == "" || trim($pass) == "") {
header("Location:form.html");
}
Da dove hai preso quello script?
da altervista
Scrivi il link, altrimenti non si riesce ad aiutarti!
E' sbagliato quel link
Cosa non riesci a capire? Hai provato a far funzionare quello script?
una volta ke creo il form.html nn so dove mettere questo
if(trim($nick) == "" || trim($pass) == "") {
header("Location:form.html");
}
Quello lo devi mettere nella pagina che viene caricata da form.html (quella nel parametro action del tag form).
Comunque è già presente nello script.
ma deve essere in php o in html
if(trim($nick) == "" || trim($pass) == "") {
header("Location:form.html");
}
In PHP, ma forse non hai letto l'ultima modifica che ho fatto al mio messaggio. La parte che stai citando è già compresa nello script.
no nn l'ho letta mi dai il link
Il messaggio è questo. Comunque basta che scorri il forum verso l'alto e leggi il penultimo messaggio che ho scritto oppure leggi direttamente l'ultimo messaggio che ho scritto.
scusami ma nn sono molto pratico come faccio a metterlo in form.html affinkè parta?
La pagina form.html è questa:
E la pagina registrazione.php è questa:Codice HTML:<html>
<title>Registrazione</title>
<body>
<form method="post" action="registrazione.php">
<input type="text" name="nome" /> Nome utente
<input type="password" name="pass" />Password
<input type="submit" name="registrati" value="Registrati" /> - <input type="submit" name="login" value="Log-In" />
</form>
</body>
</html>
Lo script è finito.Codice PHP:
<?php
function controlla_presenza($nick){
$file = file("utenti.php");
foreach($file as $rigo) {
$ex = explode("|",$rigo);
if($ex[1] == $nick) {
return "presente";
}
}
}
function nick_pass_ok($nick,$pass) {
$pass = md5($pass);
$file = file("utenti.php");
foreach($file as $rigo) {
$ex = explode("|",$rigo);
if($ex[1] == $nick && $ex[2] == $pass) { return "ok"; }
}
}
$nick = $_POST['nome'];
$nick = str_replace("|","",$nick);
$nick = str_replace("\\","",$nick);
$vpass = $_POST['pass'];
$vpass = str_replace("|","",$vpass);
$vpass = str_replace("\\","",$vpass);
$pass = md5($vpass);
if($_POST['registrati'] || $_POST['login']){
if(trim($nick) == "" || trim($pass) == "") {
header("Location:form.html");
}
}
if($_POST['registrati']) {
$check = controlla_presenza($nick);
if($check == "presente") { echo "Utente già presente!"; exit(); }
$fp = fopen("utenti.php","a+");
fwrite($fp,"<?|".$nick."|".$pass."|\n");
fclose($fp);
echo "$nick registrato! Password: $vpass";
echo "<a href='form.html'>Torna alla pagina di login</a>";
}else if($_POST['login']) {
$contr = nick_pass_ok($nick,$pass);
if($contr == "ok") { echo "$nick sei loggato!";
echo "Visualizza l'area riservata!";
}else{
echo "Nickname o password errati!";
}
}
?>
ok grazie senti dato ke è troppo largo si potrebbe mettere per esempio
prima dove mettere il nick poi la pass poi il tasto per il login e poi per registrarti se no mi viene una tabella larghissima ah un'altra cosa c'è qaklke script da inseriere in modo ke conti gli utenti iscritti?
Non ho capito bene come vuoi mettere i vari elementi del form, comunque in questo modo sono uno sotto l'altro:
Per contare il numero degli iscritti basta scrivere:Codice HTML:<html>
<title>Registrazione</title>
<body>
<form method="post" action="registrazione.php">
<input type="text" name="nome" /> Nome utente
<br /><input type="password" name="pass" />Password
<br /><input type="submit" name="registrati" value="Registrati" />
<br /><input type="submit" name="login" value="Log-In" />
</form>
</body>
</html>
Codice PHP:
<?
$file=file("utenti.php");
echo count($file);
?>
ma si può mettere anke ki è in linea? e prima del numero si può scrivere utenti registrati?
Per scrivere chi è in linea bisognerebbe stravolgere un po' lo script.
Codice PHP:
<?
$file=file("utenti.php");
echo "Utenti registrati: ".count($file);
?>
me lo potresti scrivere già fatto? ma xkè mi da un errore quanto effetto il login?
Cosa?Citazione:
Originalmente inviato da catanzaro1929
Non lo so, che errore ti dà?Citazione:
Originalmente inviato da catanzaro1929