Pues eso... Como podria optimizar este codigo?
$error = null;
$direccion = null;
$poblacion = null;
$provincia = null;
$postal = null;
$nombre = null;
$nick = null;
$pass = null;
$password = null;
$email = null;
$mail = null;
$telefono = null;
$telefono2 = null;
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://localhost/zulo/alta_usuario.php' && ($_POST != null))
{
$direccion = $_POST["strDireccion"];
$poblacion = $_POST["strPoblacion"];
$provincia = $_POST["strProvincia"];
$postal = $_POST["intCpostal"];
$nombre = $_POST["strNombre"];
$nick = $_POST["strNick"];
$error = false; //Indica si hay un error
$pass = $_POST["strPassword"];
$password = $_POST["password"];
$email = $_POST["strEmail"];
$mail = $_POST["mail"];
$telefono = $_POST["intNtelf"];
$telefono2 = $_POST["telefono"];
if($pass!=$password)
{
echo "Las contraseñas no coinciden";
$error = true;
}
if($email!=$mail)
{
echo "El email no coincide";
$error = true;
}
if($telefono!=$telefono2)
{
echo "Los telefonos no coinciden";
$error = true;
}
$checkuser = comprobaruser($_POST["strNick"]);
if ($checkuser != 0)
{
header('Location: alta_usuariorepetido.php');
}
$checkmail = comprobarmail($_POST["strEmail"]);
if ($checkmail != 0)
{
header('Location: alta_emailrepetido.php');
}
if ($error != true)
{
$insertSQL = sprintf("INSERT INTO tblusuario (strNombre, strEmail, intActivo, strPassword, strDireccion, strNick, intCpostal, strProvincia, strPoblacion, intNtelf) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['strNombre'], "text"),
GetSQLValueString($_POST['strEmail'], "text"),
GetSQLValueString($_POST['intActivo'], "int"),
GetSQLValueString($_POST['strPassword'], "text"),
GetSQLValueString($_POST['strDireccion'], "text"),
GetSQLValueString($_POST['strNick'], "text"),
GetSQLValueString($_POST['intCpostal'], "int"),
GetSQLValueString($_POST['strProvincia'], "text"),
GetSQLValueString($_POST['strPoblacion'], "text"),
GetSQLValueString($_POST['intNtelf'], "int"));
mysql_select_db($database_conexionzulo, $conexionzulo);
mysql_query($insertSQL, $conexionzulo);
header('Location: alta_ok.php');
}
}
$password = $_POST["password"];
Porque no usas la variable $_POST directamente en ves de pasarlo a otras variables?
GetSQLValueString($_POST['strNombre'], "text") es mejor que mysql_real_escape_string() ?
Para luego poder compararlas, no?
Pues no se si es mejor o no.. :S
Por eso lo pongo aqui para ver que es mejor o como hacerlo mejor...
Las puedes comparar si usar la variable, es decir,
if( $_POST["strPassword"] != $_POST["password"] ){
/* SNIP */
if( $_POST["strEmail"] != $_POST["mail"] ){
Pues si! Teneis razon ;)
Las otras si las tengo que dejar, no? Las que estan null...
Las uso para una vez mandado el form, si hay errores imprimir por pantalla los values de cada campo.
En cuanto al GetSQLValueString.. Lo dejo?
No sabemos que hace esa función y si php.net el creador de php te dice que uses mysql_real_escape_string creo que es por algo, si haces algo que no te dice php que hagas entonces puedes correr riesgos de inyección.
Dale un vistazo a este post:
http://foro.elhacker.net/nivel_web/como_evitar_la_inyeccion_sql-t252384.0.html
OK! Perfecto gracias !! :D
Y en cuanto al codigo hay algo mas que pueda hacer para que no sea "spaguetti" xDDD