Originariamente inviato da neida
Anche se, personalmente, sono contrario all'uso continuato degli IF, se proprio vuoi lasciarli (per mostrare messaggi d'errore appropriati, di volta in volta) magari potresti crearti una funzione che oltre a mostrare il messaggio d'errore specifico in base alla condizione in cui si verifica l'errore, ti permette pure di bloccare l'esecuzione dello script stesso.

Se ti va, prova in questo modo...
(potrebbero esserci degli errori, controlla)
Codice PHP:
[font=courier new]<?php
require('config.php');

//questa funzione puoi includerla
//per comodità nel file config.php
function msg_error($msg)
{
echo 
"<span class=\"text\">[b]$msg[/b]</span>
"
;
echo 
"<a href=\"javascript:history.go(-1)\">Indietro</a>";
exit(); 
//interrompe l'esecuzione dello script...
}

//controllo se i dati sono stati inviati dal form
if(isset($_POST['submit'])) {

$mail $_POST['mail'];
$mail2 $_POST['mail2'];
$pass $_POST['pass'];
$pass2 $_POST['pass2'];
$user $_POST['user'];
$date date("F j, Y, g:i a");

if(
$mail == '' || $mail2 == '')
msg_error("Non puoi lasciare il campo mail vuoto!");

if(
$user == '')
msg_error("Non puoi lasciare il campo username vuoto!");

if(
$pass == '' || $pass2 == '')
msg_error("Non puoi lasciare il campo password vuoto!");

if(
$mail != $mail2)
msg_error("Le email inserite non coincidono!");

if(
$pass != $pass2)
msg_error("Le password inserite non coincidono!");

if(
$user == "$username") {
msg_error("L'username scelto è già utilizzato!");

} else {

$conn mysql_connect($db_host$db_user$db_pass)
or die(
"Impossibile selezionare database");
mysql_select_db($db_name$conn)
or die(
"Impostazioni connessione errate");

$query "INSERT INTO
          `members` (`user`, `pass`, `email`, `regdate`, `ban`)
          VALUES
          ('
$user', '$pass', '$mail', '$date', '0')";

$insert mysql_query($query$conn)
          or die(
mysql_error());
}

} else {
//redirect alla pagina di provenienza (form)
header("Location: registra.php");
}
?>[/font]
mi rimanda sempre a registra.php senza mostrare errori o inserire niente nel DB