Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - cerco script registra utenti
Forum - PHP - cerco script registra utenti

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
stefano (Normal User)
Newbie


Messaggi: 6
Iscritto: 19/07/2006

Segnala al moderatore
Postato alle 15:44
Mercoledì, 19/07/2006
Salve a tutti al forum, sto cercando da tanto tempo uno script che mi registri per me gli utenti, che poi entrino dopo aver fatto il login in una pagina, simile a quella che ho fatto la registrazione al vostro sito. La vostra community è molto interessante si parla di tante cose molto utili, se ci fosse qualcuno che mi può aiutare ne sarei molto grato.
by stefano:)

PM Quote
Avatar
radio (Ex-Member)
Expert


Messaggi: 327
Iscritto: 03/03/2005

Segnala al moderatore
Postato alle 18:54
Giovedì, 20/07/2006
Non so se ho capito bene ma mi sembra che tu stia cercando uno script per la gestione degli utenti.[Giusto?]

Beh se è così ne troverai molti, in giro, ma devi avere chiaro in mente cosa stai cercando: vuoi che gli utenti siano registrati in un database o su un 'normale' file di testo.

Ove possibile la prima ipotesi è ovviamente da preferire ma comporta un leggero aumento nella complessità dello script.

Ti scrivo due righe d'esempio ma naturalmente devi stare molto attento quando permetti la registrazione degli utenti: è consigliata la conferma via e-mail per evitare che dei bot registrino migliaia di utenti fittizzi sul tuo sito.
Magari potresti anche mettere un'immagine con del testo da riconoscere....Ma tutto ciò naturalmente complica il sorgente...

Struttura database:
Codice sorgente - presumibilmente Php

  1. CREATE TABLE `users` (
  2.   `ID` mediumint(9) NOT NULL auto_increment,
  3.   `nome` varchar(31) default NULL,
  4.   `cognome` varchar(31) default NULL,
  5.   `nick` varchar(12) default NULL,
  6.   `pwd` varchar(16) default NULL,
  7.   `email` varchar(45) default NULL,
  8.   `IP` varchar(15) default NULL,
  9.   `admin` char(1) default NULL,
  10.   PRIMARY KEY  (`ID`),
  11.   UNIQUE KEY `nick` (`nick`),
  12.   UNIQUE KEY `email` (`email`),
  13.   UNIQUE KEY `IP` (`IP`)
  14. ) TYPE=MyISAM;



poi un form per la registrazione [form.html]
Codice sorgente - presumibilmente PHP

  1. <form action="registra.php" method="POST">
  2. Nome: <input type="text" name="nome" maxlength="31" size="32"><br>
  3. Cognome: <input type="text" name="cognome" maxlength="31" size="32"><br><br>
  4.  
  5. Nickname: <input type="text" name="nick" maxlength="12" size="15"><br>
  6. <!-- La password saràa inviata per e-mail -->
  7.  
  8. E-mail: <input type="text" name="email" maxlength="45" size="50">
  9. </form>
  10. <!-- Volendo si può aggiungere un JS che controlla la correttezza dei dati inseriti, ad esempio con un'espressione regolare per l'email...-->



Poi da registra.php intercetti i dati che arrivano con il post con qualcosa del genere...
Codice sorgente - presumibilmente Php

  1. // Genero una password a caso, (in qusto caso un numero ma naturalmente si può fare di MOLTO meglio!)
  2. $pwd=rand(0,1000000);
  3.  
  4. # Qui sarebbe bene controllare che non ci siano altre persone nel DB con la stessa e.mail IP o nick e che tutte le vriabili siano arrivate con qualche valore
  5.  
  6. $query="INSERT INTO users (nome, cognome, nick, pwd, email, IP, admin) VALUES ('".$_POST["nome"]."', '".$_POST["cognome"]."', '".$_POST["nick"]."', '".md5($_POST["pwd"])."', '".$_POST["email"]."', '".$_SERVER["SERVER_ADDR"].", 'n');
  7.  
  8. $result=mysql_query($query);
  9. if (!$result===false)
  10.  mail($_POST["email"], "password per il sito", "La tua password è ".$pwd);
  11. else
  12.  die("Errore nella query: ".$query."<br>".mysql_error());



Poi vabbè il login.php potrebbe essere [supponendo che arrivino da un POST 'pwd' e 'nick'...
Codice sorgente - presumibilmente Php

  1. <?php
  2. $pwd=md5($_POST["pwd"]);
  3. $query="SELECT nome FROM users WHERE pwd='$pwd' AND nick='$nick';";
  4. $result=mysql_query($query);
  5.  
  6. if (mysql_num_rows($result)<>1)
  7.   {?>
  8.   <b>errore</b> login fallito!
  9.   <?}
  10. else
  11.   {
  12.   $riga=mysql_fetch_assoc($result);
  13.   ?>
  14.   ciao <?=$riga["nome"]?>!
  15.   <?}
  16.  
  17. ?>



Ovviamente su questo codice ci sarebbero molte migliorie da fare....

PM Quote
Avatar
stefano (Normal User)
Newbie


Messaggi: 6
Iscritto: 19/07/2006

Segnala al moderatore
Postato alle 15:16
Venerdì, 21/07/2006
Ti ringrazio per la tua rapidità della risposta. La mia richiesta era troppo scarna di informarzioni, io volevo che la registrazione sia fatta su file di testo, purtroppo non uso il mysql, e quindi se ti è possibile farne uno senza mysql.




Aspetto con fiducia grazie.:)

Ultima modifica effettuata da stefano il 21/07/2006 alle 15:29
PM Quote
Avatar
stefano (Normal User)
Newbie


Messaggi: 6
Iscritto: 19/07/2006

Segnala al moderatore
Postato alle 15:30
Venerdì, 21/07/2006
AAAAA mi ero dimenticato di inserire + info:

Lo volevo con il nickname e l'email il form di invio.

La password se è possibile lo potrebbe dare il sistema cioè lo script, e se un utente la vuole cambiare la password va in un form cambia_password e la cambia.

Poi che quando un utente si è registrato che ricevi i suoi dati via email con la notifica.

E se un utente a perso i suoi dati di accesso basta inserire l'email e lo script da file di testo gli invia l'user e la passw.

grazie a tutti:):k:

Ultima modifica effettuata da stefano il 21/07/2006 alle 15:31
PM Quote
Avatar
radio (Ex-Member)
Expert


Messaggi: 327
Iscritto: 03/03/2005

Segnala al moderatore
Postato alle 23:21
Venerdì, 21/07/2006
sì, non sarebbe difficile, però io domani devo partire alle 7 di mattina per il mare (starò via max un mese) e ora sono le 23:15.......

cmq per il file di testo ti metto due funzioni che uso per il guestbook che trovi nella project zone, solo che non ci sono queste funzioni uguali perchè sono della versione alpha in sviluppo...;)
Non centran molto ma ti potrebbero servire come spunto


Codice sorgente - presumibilmente Php

  1. function Inserisci_Post($testo_post,$autore_post)
  2. {#Se non lo ho già fatto includo il file di configurazione (nnn si sà mai ;-))
  3. include_once "./config.inc.php";
  4.  
  5. if ((!isset($autore_post)) OR (!isset($testo_post)))
  6.         {
  7.         echo "<b>Errore:</b> Non ho potuto inserire il messaggio nel database.<br>
  8.         <i>Non sono stati inseriti tutti i dati richiesti (nome e testo)</i>";
  9.         } else {
  10.  
  11. # Apre il file "DB" in letura e scrittura, posiziona il puntatore al'inizio, crea il file se non esiste.
  12. global $config;
  13.  
  14. include $config["db_file"];
  15.  
  16. // Trovo l'ID dell'ultimo msg
  17. if (isset($msg))
  18.         {
  19.         end($msg);
  20.         $i=key($msg);
  21.         }
  22. else // Documento vuoto!!!
  23.         {
  24.         $testo_nuovo="
  25. <?
  26. /* ATTENZIONE: Questo fle viene generatoe modificato automaticamente;
  27.  * NON deve essere assolutamente modificato a mano ma tramite le opzioni del pannello (cp.php)
  28.  * altrimenti potrebbe divenire INUTILIZZABILE!
  29.  */
  30. ";
  31.        $i=0;
  32.        }
  33.  
  34.  
  35. $handle=fopen($config["db_file"], "r+b");
  36.  
  37. # Leggo il contenuto del file [messaggi precedenti]
  38. $testo_originale=fread($handle, filesize($config["db_file"]));
  39.  
  40. # Preparo data e ora da inserire nell'intestazione del post
  41. $time = date("G:i:s");
  42. $date = date("d-m-y");
  43.  
  44. # Questo è il testo che aggiungo al DB
  45.  
  46. $y=$i+1;
  47. $testo_nuovo .= "// Nuovo post [$y] !
  48.  
  49. \$msg[$y][\"autore\"] = \"$autore_post\";
  50. \$msg[$y][\"date\"]   = \"$date\";
  51. \$msg[$y][\"time\"]   = \"$time\";
  52. \$msg[$y][\"testo\"]  = \"$testo_post\";
  53.  
  54.  
  55. ?>";
  56. // tolgo la chiusura del tag "?\>" dal testo di prima [tolgo tre caratteri: '?' '>' e '\n'
  57.  
  58. $testo_originale=str_replace("?>", "", $testo_originale);
  59.  
  60.  
  61. $testo_originale=str_replace("?>", "", $testo_originale);
  62. echo $testo_originale;
  63. # Aggiungo il testo nuovo in coda ai messaggi precedenti
  64. $testo=$testo_originale.$testo_nuovo;
  65.  
  66. # Mi posiziono all'inizio del file e...
  67. fseek($handle,0);
  68. # ...riscrivo tutto (perchè non si sa mai ;-)
  69. fwrite($handle, $testo);
  70. # Chiudo il puntatore
  71. fclose($handle);
  72. }
  73. }
  74.  
  75.  
  76. Function Visualizza_Post()
  77.         {
  78.         global $config;
  79.         # Se non lo ho già fatto includo il file di configurazione (nnn si sà mai ;-))
  80.         include_once "./config.inc.php";
  81.        
  82.         # Include il DB, ora un file PHP
  83.         include $config["db_file"];
  84.        
  85.         $n=count($msg);
  86.        
  87.         if ($n<=$config["postxpag"]) // Se i messaggi sono meno di quelli massimi per pagina non 'creo' le pagine
  88.                 {
  89.                 krsort($msg);
  90.                 }
  91.         else
  92.                 {
  93.                 krsort($msg);
  94.                 foreach ($msg as $value)
  95.                         {
  96.                         }
  97.                 }
  98.         // Li ordino secondo le chiavi in senso inverso. --> ovvero:
  99.         // gli ultimi messaggi vanno per primi
  100.         krsort($msg);
  101.         foreach ($msg as $value)
  102.                 {
  103.                 $testo.="
  104.         <p class=\"msg\">
  105.             <i>%posted%<b>".$value["autore"]."</b> %on% ".$value["date"]." %at% ".$value["time"].".</i><br>
  106.                 ".$value["testo"]."
  107.         </p>
  108.         <hr style=\"background-color : #B35A00\">
  109.                 ";
  110.                 }
  111.        
  112.         if ($config["emoticons"]) $testo=Emoticons($testo);
  113.         if ($config["bad_words_control"]) $testo=Bad_Words($testo);
  114.         if ($config["BB_code"]) $testo=BB_Code($testo);
  115.        
  116.         $testo=Traduci_Post($testo);
  117.         ?>
  118. <h1><?=$config["title"]?></h1>
  119. <!--ScriptGuestbook v.0.1.beta1, www.pierotofy.it (C) 2005. All rights reserved.-->
  120.  
  121.         <div class="messaggi">
  122.         <br>
  123.         <?
  124.         echo $testo;
  125.         ?>
  126.         </div>
  127.        
  128.         <div class="varie">
  129.         <?
  130.         //carica traduzione
  131.         $transl=Carica_Traduzione();
  132.         ?>
  133.         <p class="normal">
  134.                 <i><b><?=$transl["Add_msg"]?></b></i><br><br>
  135.                 <?
  136.                 echo (str_replace("%self%", $SERVER_["PHP_SELF"], $transl["chg_lng"]));
  137.                 ?>
  138.         </p>
  139.        
  140.         </div>
  141.         <?
  142.         }


PM Quote
Avatar
stefano (Normal User)
Newbie


Messaggi: 6
Iscritto: 19/07/2006

Segnala al moderatore
Postato alle 20:49
Sabato, 22/07/2006
Posso aspettare anche quando torni tanto non hò fretta, poi io di php non ci capisco nulla. AAA poi quando un utente si registrerà e avra l'email di notifica e poi andrà in login, io vorrei che poi il login effettuato rispedisca l'utente nella pagina dove ci sarà la pagina con altri link mia mi sembra che si chiami redirect. ciao

PM Quote
Avatar
stefano (Normal User)
Newbie


Messaggi: 6
Iscritto: 19/07/2006

Segnala al moderatore
Postato alle 16:08
Venerdì, 15/09/2006
Cè qualcuno che può aiutarmi alla mia richiesta di script registra utenti, con amministrazione admin per poter cancellare utenti. Hò cercato in web ma non riesco a trovarlo e nemmeno crearlo xchè di php non ci capisco. Per il database vorrei archiviare i dati su file di testo blocco note ( database.txt ). grazie:asd::asd:

PM Quote
Avatar
Black Shadow (Founder Member)
Expert


Messaggi: 323
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 19:14
Venerdì, 15/09/2006
E' possibile che in 2 mesi non hai ne imparato PHP ne, al limite, sei riuscito a procurarti un Database SQL ??:-|

PM Quote
Avatar
Fr3d3R!K (Ex-Member)
Expert


Messaggi: 589
Iscritto: 17/08/2006

Segnala al moderatore
Postato alle 21:45
Sabato, 16/09/2006
non è che per caso non ti sei manco sforzato di trovare un manuale o qualcosa perchè tanto c'era radio in aiuto?? no veroooo??? a scanso di equivoci comunque basta cercare manuale php su google per trovarne una marea...ciao ciao!
edit: visto che hai cercato sul web riprova scrivendo "login php" su www.google.it e...voila il primo risultato è quello che ti serve...;)

Ultima modifica effettuata da Fr3d3R!K il 16/09/2006 alle 21:47
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo