Scusa la mia domanda "cattiva", ma da quanto studi PHP, e soprattutto prima di postare hai letto la guida di base del PHP e la guida tra PHP e MySQL?
Comunque tu hai un form:
codice HTML:
<form action="register.php" method="POST">
username:<br>
<input type="text" name="username" maxlength="20"><br><br>
email:<br>
<input type="text" name="email" maxlength="60"><br><br>
password:<br>
<input type="password" name="password" maxlength="20"><br><br>
ripeti password:<br>
<input type="password" name="password2" maxlength="20"><br><br>
<input type="submit" value="registrati">
</form>
come penso saprai, se nel campo input metti value è come se fosse già completata, mi spiego con un esempio:
codice HTML:
<input type="text" name="email" maxlength="60" value="email.test@gmail.com">
Quando apri la pagina il field email sarà già precompletato con la email email.test[at]gmail.com.
Usando questa tecnica, se al posto che la mail metti:
Codice PHP:
<?php $_GET['email'] ?>
vuol dire che con un $_GET in alto avrai la mail (per sapere di $_GET: http://www.html.it/pag/16695/le-variabili-get-e-post/)
Con questo metodo puoi automaticamente completare i campi in caso di errore. Tuttavia è vivamente sconsigliato passare la password con un $_GET in quanto è tranquillamente visibile. Per questo motivo o usi un $_POST oppure usi dei cookies/session.
In ogni caso, per questioni di sicurezza, consiglio vivissimamente di usare un metodo di criptaggio a doppia via (che con una chiave si possa sia criptare, che decriptare, a differenza di md5 e hsa1 che è solo crypt ma non decrypt). Per criptare la password ti consiglio:
http://www.donatantonio.net/blog/tag/blowfish-php/
Attualmente blowish è uno dei metodi più sicuri, se non il più sicuro.
Dal form mandi i vari campi con un $_POST alla pagina register.php, quindi in register.php avverranno tutti i controlli, compreso quello della password.
Quindi devi mettere la password in una variabile (nel mio esempio $password) e fai un if per verificare le condizioni che vuoi:
Codice PHP:
if (strlen($password) > 6){}
Così dici:
SE (LUNGHEZZA DI ($PASSWORD) > 6)
ALLORA ESEGUI...
Per rispondere al secondo messaggio:
1) semplicemente è sbagliata la codifica, quello penso che sia una è, quindi sostituiscila con questo codice: è N.B occhio che è HTML e non php!!!
2) usa questo codice:
Codice PHP:
<? header("location: http://.........."); ?>
3) Perchè o usi un dominio con indirizzo palesemente fasullo et simili,o perchè l'IP da dove invii le mail è stato bannato dal tuo client di posta per spam oppure perchè invii una mail non in italiano corretto, con troppi link o comunque strana
4) Certo che puoi, ti do due modi, tuttavia prima devo fare un appunto: tu hai il codice, ma non una data in cui il codice è stato generato, quindi non sai se un utente è stato generato 5 minuti fa oppure 1 anno e mezzo fa, quindi ti consiglio o di fare un campo con solo la data, oppure dove c'è il codice metti un carattere che non può essere prodotto, tipo una virgola (,) e dopo al codice metti ,data
ES: A023RDWQ23F23F,19/05/2014
In questo modo con delle funzioni per agire sulle stringe (explode è la più semplice, http://www.html.it/pag/16690/le-funz...e-le-stringhe/) puoi avere sia il codice, sia la data ma senza creare una colonna in più che è solo spazio inutile (per un sito da 10 utenti non cambia nulla, ma nell'otica di avere un sito come questo, con migliaia di utenti, tutto fa brodo
)
Ora, partendo dal presupposto che abbiamo anche la data, vediamo i metodi:
a) con dei cron job, ossia esegue un determinato codice ogni tot, tutto in automatico
b) (quella più semplice) Crei una pagina in PHP che ha solo quella funzione, metti che se sono passati più di 5 giorni (cerca su google per fare calcoli sul date in PHP) allora la riga viene cancellata (e così cancelli tutte le info di un utente), altrimenti non fai nulla. In questo modo se un utente è appena stato creato non viene cancellato, ma rimane lì, mentre se è stato creato un anno e mezzo fa allora viene cancellato.
Io ti ho detto di mettere il codice in una pagina a se, ma capisco bene che può essere una rottura ricordarsi di aprirlo anche solo una volta a settimana, per questo motivo il mio consiglio è di metterlo in una pagina che se visiti quasi tutti i giorni, per esempio se hai un'area amministrativa, lo puoi mettere nella homepage dell'aera amministrativa, così tutte le volte che ti logghi il codice viene eseguito. Ti sconsiglio comunque di metterlo in una pagina del sito a cui tutti possono accedere, per esempio la homepage del sito, in quanto se hai 100 visualizzazioni di pagina al giorno il codice viene fatto 100 volte in un giorno, se ne hai 1000, 1000 volte, se ne 100000, 100000 volte, che possono sembrare tante, ed effettivamente lo sono, ma molti siti raggiungono questi livelli. Farlo una volta al giorno basta e avanza, quindi piazzala in una pagina nè troppo sperduta nè troppo visitata. Altrimenti nel pannello di admin metti una parte di sola manutenzione con tutti i controlli di questo genere...