Ciao a tutti! Vorrei creare nel sito un'area utenti, dove chi vuole lascia i suoi dati che vengono registrati nella pagina utenti.php... Qualcuno mi può aiutare? Grazie
Ciao a tutti! Vorrei creare nel sito un'area utenti, dove chi vuole lascia i suoi dati che vengono registrati nella pagina utenti.php... Qualcuno mi può aiutare? Grazie
Cioè un forum?
Indenti creare uno spazio dove l'utente segnala la sua visita lasciando i suoi dati ( ad esempio: nome, mail, sito ecc.. ) o intenti qualche altra cosa?
Nel primo caso ti basta utilizzare un modulo formato da tre campi ( nome, mail, sito ), di memorizzare i dati all'interno di un'archivio e di visualizzarle grazie alla pagina utenti.php
Se invece, come già scritto, vuoi creare un forum, puoi prendere spunto da uno di questi script:
http://php.html.it/script/lista/62/f...i-discussione/
Ultima modifica di sevenjeak : 22-01-2010 alle ore 14.08.23
Si: mi serve un modulo dove la gente lascia i propri dati!
Ma completo? con parte php e html? con database o xml o txt? quali campi? dai più informazioni
Allora: uno clicca nella pagina utenti dove trova tutti i nomi degli utenti registrati (con link a sitoweb o e-mail) e, se vuole, si registra inserendo i propri dati nel form in basso.
Proverò ad aiutarti.
Dovrai creare dei file, il primo di questi è config.php conterrà i dati di accesso al database.
Codice PHP:
<?php
$DB_host = 'localhost';
$DB_user = 'tuonome';
$DB_password = 'tuapass';
$DB_name = 'my_tuonome';
?>
Ora crea un secondo file chiamato connect.php
Si occuperà di effettuare la connessione al database.
Ora hai bisogno di una tabella che gestisca i dati che a te servono. Puoi crearla con questo PHP, il nome non è importante, in quanto dovrebbe servirti una volta solaCodice PHP:
<?php
$link = mysql_connect($DB_host, $DB_user, $DB_password);
if (!$link) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db($DB_name, $link);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
?>
Ora arriva il momento del file che chiama gli utenti ed il loro sito, puoi farlo con questo codice. Il nome non è importante.Codice PHP:
<?php
{
//Chiamo i file per la connessione al database
require 'config.php';
require 'connect.php';
{
// Creo la tabella
$query ="CREATE TABLE 'utenti' (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'utente' VARCHAR(30) NOT NULL,
'mail' VARCHAR(40) NOT NULL,
'sito' VARCHAR(60) NOT NULL,
'password' CHAR(32) NOT NULL,
PRIMARY KEY(id),
INDEX('username', 'password'));";
if (!$result) {
die("Errore nella query. $query: " . mysql_error());
}
// Chiudo la connessione al database
mysql_close();
}
echo 'Istallazione completata con successo!';
}
?>
Per far registrare un utente Puoi utilizzare questo form.Codice PHP:
<?php
//Chiamo i file per la connessione al database
require 'config.php';
require 'connect.php';
//Estraggo i dati dalla tabella
$ricevuta = mysql_query("SELECT id, nome, sito FROM utenti");
while ($row = mysql_fetch_array($ricevuta, MYSQL_BOTH)) {
//Stampo a schermo il nome utente con link al sito
echo '<a href=',$row['nome'],'>',$row['nome'], '</a><br />';
}
// Chiudo la connessione al database
mysql_close();
?>
Il suo nome non è importante.
Dal form di registrazione i dati verrando inviati al file chiamato registra.php che farà registrare il tuo utente.Codice HTML:<html> <body> <form method="post" action="registra.php"> Nick: <input type="text" name="nome" id="nome" size="30" /><br /> Mail: <input type="text" name="mail" id="mai" size="30" /><br /> Sito: <input type="text" name="sito" id="sito" size="30" /><br /> Password: <input type="password" name="password" id="password" size="30" /><br /> <br /> <input type="submit" name="pulsante" value="Invia" /> <input type="reset" value="Cancella" /> </form> </body> </html>
Ho scritto il codice sul momento quindi potrebbero esserci degli errori.Codice PHP:
<?php
$nome = $_POST['nome'];
$sito = $_POST['sito'];
$password = $_POST['password'];
$mail = $_POST['mail'];
if (empty($nome) || empty($password) || empty($sito) || empty($mail)){
echo 'Uno o più campi obbligatori sono vuoti!<br />';
echo '<a href="#" onclick="history.go(-1);return false;">Torna indietro</a>';
}
else
//Effettuo dei passaggi per evitare che ci siano caratteri che diano problemi alla sintassi del database
{
$nome = trim($_POST['nome']);
$sito = trim($_POST['sito']);
$password = trim($_POST['password']);
$mail = trim($_POST['mail']);
if(get_magic_quotes_gpc())
{
$nome = stripslashes($nome);
$mail = stripslashes($mail);
$sito = stripslashes($sito);
$password = stripslashes($password);
}
$nome = mysql_real_escape_string($nome);
$mail = mysql_real_escape_string($mail);
$sito = mysql_real_escape_string($sito);
$password = mysql_real_escape_string($password);
//Chiamo i file per la connessione al database
require 'config.php';
require 'connect.php';
// Preparo l'invio
$query = "INSERT INTO utenti (utente,mail,sito,password)
VALUES ('$nome','$mail','$sito','$password')";
// Mando i dati
$result = mysql_query($query);
// Controllo l'esito
if (!$result) {
die("Errore nella query. $query: " . mysql_error());
}
// Chiudo la connessione al database
mysql_close();
$mittente = [B]tuosito[/B][I]@altervista.org[/I];
echo 'Registrazione eseguita con successo! A momenti dovresti ricevere una mail di conferma';
//Invio una mail di conferma.
mail("$mail","Oggetto","
Testo Mail
Testo Mail
Testo Mail
","from: $mittente");
?>
Spero ti sia d'aiuto.
Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese
Fatti Pubblicità sul mio sito Gratuitamente!: PageYou
Grazie a 300000000! Provo subito!
Edit:
Errore nella query. CREATE TABLE 'utenti' ( 'id' INT UNSIGNED NOT NULL AUTO_INCREMENT, 'utente' VARCHAR(30) NOT NULL, 'mail' VARCHAR(40) NOT NULL, 'sito' VARCHAR(60) NOT NULL, 'password' CHAR(32) NOT NULL, PRIMARY KEY(id), INDEX('username', 'password'));:
Ultima modifica di darkwolf : 25-01-2010 alle ore 17.12.12
Sulla base della tua richiesta, ti invio uno script che usa un file di testo per la registrazione degli utenti nella directory /inc del tuo sito.
Fammi sapere se ti va bene.
Codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript"> <!-- function add_form(){ var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; var sito_reg_exp = /^http:\/\/(www\.)?([a-zA-Z0-9-]{3,}\.)?[a-zA-Z0-9-]{3,}\.[a-zA-Z]{2,}(\/)?$/; var user = document.my_form.user.value; var email = document.my_form.email.value; var sito=document.my_form.sito.value; if ((user == "") || (user == "undefined")){ alert("Completare il campo Nick Name") document.my_form.user.select(); return false }<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript"> <!-- function add_form(){ var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; var sito_reg_exp = /^http:\/\/(www\.)?([a-zA-Z0-9-]{3,}\.)?[a-zA-Z0-9-]{3,}\.[a-zA-Z]{2,}(\/)?$/; var user = document.my_form.user.value; var email = document.my_form.email.value; var sito=document.my_form.sito.value; if ((user == "") || (user == "undefined")){ alert("Completare il campo Nick Name") document.my_form.user.select(); return false } else if ((sito == "") || (sito == "undefined") || (sito == "http://")){ alert("Completare il campo Sito") document.my_form.sito.select(); return false } else if (!sito_reg_exp.test(sito)){ alert("Indirizzo Sito errato!") document.my_form.sito.select(); return false } else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) { alert("Inserire un indirizzo email corretto."); document.my_form.email.select(); return false; } else document.my_form.submit(); } --> </script> </head> <?php $root=str_replace($_SERVER["PHP_SELF"],"",$_SERVER["SCRIPT_FILENAME"]); $self_prg=$_SERVER['PHP_SELF']; $riferimento=$root."/inc/utenti.txt"; if(isset($_POST['user']) && trim($_POST['user'])!=""){ $user=$_POST['user']; $email=$_POST['email']; $sito=$_POST['sito']; $contenuto="";$ok=true; if(file_exists($riferimento)){ $var=@fopen($riferimento,"r"); $contenuto=fread($var,filesize($riferimento)); fclose($var); if (stristr($contenuto,$user)){ alert("$user gia' presente in elenco. Riprovare");$ok=false; } if (stristr($contenuto,$email)){ alert("$user gia' registrato con $email. Riprovare");$ok=false; } if (stristr($contenuto,$sito)){ alert("$user gia' registrato con $sito. Riprovare");$ok=false; } } if($ok){ $note="$user|$email|$sito|\n".$contenuto; $var=fopen($riferimento,"w"); fwrite($var, $note); fclose($var); } } function alert($msg){ ?> <script type="text/javascript"> <!-- msg="<?php echo $msg; ?>" alert(msg) --> </script> <?php } function read_commenti(){ global $self_prg,$riferimento; $elenco="<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><tr><td align=\"center\" >NickName</td><td align=\"center\" >email</td><td align=\"center\" >Sito</td></tr>"; $var=@fopen($riferimento,"r"); if($var){ while (!feof($var)) { $riga=fgets($var, 4096); if(!empty($riga)){ $buffer = explode("|",$riga); $elenco.="<tr><td align=\"center\">$buffer[0]</td><td align=\"center\" >$buffer[1]</td><td align=\"center\"><a href=\"$buffer[2]\">$buffer[2]</a></td></tr>"; } } } fclose($var); echo "$elenco</table>"; } ?> <body> <div style="margin 0 auto;"> <?php read_commenti();?> <br />Registrati su questo Sito ed otterrai i seguenti vantaggi:<br /> bla, bla, bla....<br /> <pre> <form name="my_form" method="post" action="<?php echo $self_prg; ?>" > Nick Name: <input type="text" size="15" name="user" /> Email: <input type="text" size="15" name="email" /> Sito: <input type="text" size="15" name="sito" value="http://" /> <input type="button" onclick="add_form();" value="Invia" /> <input name="reset" type="reset" value="Reset" /> </form> </pre> </div> </body> </html> else if ((sito == "") || (sito == "undefined") || (sito == "http://")){ alert("Completare il campo Sito") document.my_form.sito.select(); return false } else if (!sito_reg_exp.test(sito)){ alert("Indirizzo Sito errato!") document.my_form.sito.select(); return false } else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) { alert("Inserire un indirizzo email corretto."); document.my_form.email.select(); return false; } else document.my_form.submit(); } --> </script> </head> <?php $root=str_replace($_SERVER["PHP_SELF"],"",$_SERVER["SCRIPT_FILENAME"]); $self_prg=$_SERVER['PHP_SELF']; $riferimento=$root."/inc/utenti.txt"; if(isset($_POST['user']) && trim($_POST['user'])!=""){ $user=$_POST['user']; $email=$_POST['email']; $sito=$_POST['sito']; $contenuto="";$ok=true; if(file_exists($riferimento)){ $var=@fopen($riferimento,"r"); $contenuto=fread($var,filesize($riferimento)); fclose($var); if (stristr($contenuto,$user)){ alert("$user gia' presente in elenco. Riprovare");$ok=false; } if (stristr($contenuto,$email)){ alert("$user gia' registrato con $email. Riprovare");$ok=false; } if (stristr($contenuto,$sito)){ alert("$user gia' registrato con $sito. Riprovare");$ok=false; } } if($ok){ $note="$user|$email|$sito|\n".$contenuto; $var=fopen($riferimento,"w"); fwrite($var, $note); fclose($var); } } function alert($msg){ ?> <script type="text/javascript"> <!-- msg="<?php echo $msg; ?>" alert(msg) --> </script> <?php } function read_commenti(){ global $self_prg,$riferimento; $elenco="<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><tr><td align=\"center\" >NickName</td><td align=\"center\" >email</td><td align=\"center\" >Sito</td></tr>"; $var=@fopen($riferimento,"r"); if($var){ while (!feof($var)) { $riga=fgets($var, 4096); if(!empty($riga)){ $buffer = explode("|",$riga); $elenco.="<tr><td align=\"center\">$buffer[0]</td><td align=\"center\" >$buffer[1]</td><td align=\"center\"><a href=\"$buffer[2]\">$buffer[2]</a></td></tr>"; } } } fclose($var); echo "$elenco</table>"; } ?> <body> <div style="margin 0 auto;"> <?php read_commenti();?> <br />Registrati su questo Sito ed otterrai i seguenti vantaggi:<br /> bla, bla, bla....<br /> <pre> <form name="my_form" method="post" action="<?php echo $self_prg; ?>" > Nick Name: <input type="text" size="15" name="user" /> Email: <input type="text" size="15" name="email" /> Sito: <input type="text" size="15" name="sito" value="http://" /> <input type="button" onclick="add_form();" value="Invia" /> <input name="reset" type="reset" value="Reset" /> </form> </pre> </div> </body> </html>
Studia la programmazione in Linux. . Vai su http://proglinux.altervista.org
Imparerai ad amministrare il tuo sistema e non avrai piu' i problemi di Windows.
else if ((sito == "") || (sito == "undefined") || (sito == "http://")){ alert("Completare il campo Sito") document.my_form.sito.select(); return false } else if (!sito_reg_exp.test(sito)){ alert("Indirizzo Sito errato!") document.my_form.sito.select(); return false } else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) { alert("Inserire un indirizzo email corretto."); document.my_form.email.select(); return false; } else document.my_form.submit(); } -->
Fatal error: Cannot redeclare alert() (previously declared in /membri/digilinux/form/reg.php:88) in /membri/digilinux/form/reg.php on line 182
Lo script funziona!
Provo a reinviartelo
Codice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript"> <!-- function add_form(){ var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; var sito_reg_exp = /^http:\/\/(www\.)?([a-zA-Z0-9-]{3,}\.)?[a-zA-Z0-9-]{3,}\.[a-zA-Z]{2,}(\/)?$/; var user = document.my_form.user.value; var email = document.my_form.email.value; var sito=document.my_form.sito.value; if ((user == "") || (user == "undefined")){ alert("Completare il campo Nick Name") document.my_form.user.select(); return false } else if ((sito == "") || (sito == "undefined") || (sito == "http://")){ alert("Completare il campo Sito") document.my_form.sito.select(); return false } else if (!sito_reg_exp.test(sito)){ alert("Indirizzo Sito errato!") document.my_form.sito.select(); return false } else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) { alert("Inserire un indirizzo email corretto."); document.my_form.email.select(); return false; } else document.my_form.submit(); } --> </script> </head> <?php $root=str_replace($_SERVER["PHP_SELF"],"",$_SERVER["SCRIPT_FILENAME"]); $self_prg=$_SERVER['PHP_SELF']; $riferimento=$root."/inc/utenti.txt"; if(isset($_POST['user']) && trim($_POST['user'])!=""){ $user=$_POST['user']; $email=$_POST['email']; $sito=$_POST['sito']; $contenuto="";$ok=true; if(file_exists($riferimento)){ $var=@fopen($riferimento,"r"); $contenuto=fread($var,filesize($riferimento)); fclose($var); if (stristr($contenuto,$user)){ alert("$user gia' presente in elenco. Riprovare");$ok=false; } if (stristr($contenuto,$email)){ alert("$user gia' registrato con $email. Riprovare");$ok=false; } if (stristr($contenuto,$sito)){ alert("$user gia' registrato con $sito. Riprovare");$ok=false; } } if($ok){ $note="$user|$email|$sito|\n".$contenuto; $var=fopen($riferimento,"w"); fwrite($var, $note); fclose($var); } } function alert($msg){ ?> <script type="text/javascript"> <!-- msg="<?php echo $msg; ?>" alert(msg) --> </script> <?php } function read_commenti(){ global $self_prg,$riferimento; $elenco="<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><tr><td align=\"center\" >NickName</td><td align=\"center\" >email</td><td align=\"center\" >Sito</td></tr>"; $var=@fopen($riferimento,"r"); if($var){ while (!feof($var)) { $riga=fgets($var, 4096); if(!empty($riga)){ $buffer = explode("|",$riga); $elenco.="<tr><td align=\"center\">$buffer[0]</td><td align=\"center\" >$buffer[1]</td><td align=\"center\"><a href=\"$buffer[2]\">$buffer[2]</a></td></tr>"; } } } fclose($var); echo "$elenco</table>"; } ?> <body> <div style="margin 0 auto;"> <?php read_commenti();?> <br />Registrati su questo Sito ed otterrai i seguenti vantaggi:<br /> bla, bla, bla....<br /> <pre> <form name="my_form" method="post" action="<?php echo $self_prg; ?>" > Nick Name: <input type="text" size="15" name="user" /> Email: <input type="text" size="15" name="email" /> Sito: <input type="text" size="15" name="sito" value="http://" /> <input type="button" onclick="add_form();" value="Invia" /> <input name="reset" type="reset" value="Reset" /> </form> </pre> </div> </body> </html>
Studia la programmazione in Linux. . Vai su http://proglinux.altervista.org
Imparerai ad amministrare il tuo sistema e non avrai piu' i problemi di Windows.
Guarda tu stesso ;-) http://digilinux.altervista.org/form/reg.php
Perche' non hai riscritto il file dal secondo codice che ti ho inviato?
Se guardi attentamente il primo codice noterai che,subito dopo la chiusura dell'html con il copia incolla e' stato aggiunto
e quindi, naturalmente lo script corrotto produce errore.Codice:</html> else if ((sito == "") || (sito == "undefined") || (sito == "http://")){ alert("Completare il campo Sito") document.my_form.sito.select(); return false } else if (!sito_reg_exp.test(sito)){ ...
Studia la programmazione in Linux. . Vai su http://proglinux.altervista.org
Imparerai ad amministrare il tuo sistema e non avrai piu' i problemi di Windows.
Non cambia nulla... Guarda il codice della pagina che ho postato!
Prova a cambiare il nome dello script ed a riscriverlo.
Provvisoriamente l'ho messo cosi' com'e' su
http://proglinux.altervista.org/registro_utenti.php
vallo a vedere.
Studia la programmazione in Linux. . Vai su http://proglinux.altervista.org
Imparerai ad amministrare il tuo sistema e non avrai piu' i problemi di Windows.
Digilinux non riesci ad istallarla manualmente da phpmyadmin? io non riesco a trovare l'errore, ma al 90% non ci sono errori nella seconda parte.
Quando il saggio indica la luna, lo sciocco guarda il dito - Proverbio Cinese
Fatti Pubblicità sul mio sito Gratuitamente!: PageYou
Scusa proglinux! Avevo aperto una finestra di kwrite, dove avevo copiato il primo script e chiamato reg.html. Dopo che mi sono accorto che in realtà dovevo mettere php, ho rinominato da filezilla. POi ho riscritto in kwrite e risalvato come html! Ora provo, dovrebbe funzionare!
Ora non da + l'errore, ma non funziona come sul tuo sito :-( http://digilinux.altervista.org/form/reg.php
Ultima modifica di digilinux : 29-01-2010 alle ore 13.20.45
Nella presentazione dello script ti avevo detto:
Sulla base della tua richiesta, ti invio uno script che usa un file di testo per la registrazione degli utenti nella directory /inc del tuo sito.
Hai creato la directory /inc con gli opportuni permessi ?
A me sembra di no!
Se vuoi salvare il file di registrazione degli utenti con altro nome od in un'altra directory, devi, come specificato nello script, cambiarlo in
.Codice:$riferimento=$root."/inc/utenti.txt";
Fammi sapere e leggi il prossimo post di Webutil, presenta una utility che ti puo' essere utile.
Ciao.
Studia la programmazione in Linux. . Vai su http://proglinux.altervista.org
Imparerai ad amministrare il tuo sistema e non avrai piu' i problemi di Windows.
Grazieee! Ora funziona!
WebUtil ti aiuta nel tuo lavoro: installa gratuitamente le sue utility
http://webutil.altervista.org
studia i suoi tutorial e utilizza i suoi script