Tengo un código que lo que hace es recibir los datos de un formulario y filtrarlos, y si son correctos los guarda en un archivo y los manda por correo, el problema es que aparentemente todo está bien, pero a la hora de la verdad no funciona. La página no llega a cargarse, aparece en blanco como si se quedase en un bucle infinito o faltasen los ; , pero lo he revisado y están todos los punto y coma así como no hay bucle infinito aparentemente.
Les dejo aquí el código que da problemas por si alguien encuentra donde está el error y me puede ayudar.
Código:
<?
// Evitar Injection
function no_x($analizar){
$analizar= stripcslashes($analizar);
$analizar= addslashes($analizar);
$analizar = ereg_replace(";","",$analizar);
$analizar = ereg_replace("<","",$analizar);
$analizar = ereg_replace(">","",$analizar);
$analizar = ereg_replace(":","",$analizar);
$analizar = ereg_replace("/","",$analizar);
$analizar = ereg_replace("'","",$analizar);
$analizar = ereg_replace('"',"",$analizar);
$analizar = ereg_replace("\\","",$analizar);
return $analizar;
}
// Comprobar si es un correo
function isMail($Correo){
$correcte = false;
for($i=1; $i < strlen($Correo); $i++)
{
if($Correo[$i]=="@")
$correcte = true;
}
return $correcte;
}
//Variables
$mal = 0:
$tlf1 = $_POST['tlf1'];
$tlf2 = $_POST['tlf2'];
$Correo = $_POST['Correo'];
$Nombre = $_POST['Nombre'];
$Apellidos = $_POST['Apellidos'];
if(isset($tlf1)){
if(!is_numeric($tlf1) || strlen($tlf1) != 9){
$mal = 1;
}
if(!isset($tlf2) || !is_numeric($tlf2) || strlen($tlf2) != 9){
$mal = 1;
}
}else{
if(isset($tlf2)){
if(!is_numeric($tlf2) || strlen($tlf2) != 9){
$mal = 1;}
}else{
$mal = 1;
}
}
if(isset($Correo){
$Correo = no_x($Correo);
if(!isMail($Correo) || $Correo == ""){
$mal =1:
}
}
if(isset($Nombre)){
if($Nombre != ""){
$Nombre = no_x($Nombre);
}else{
$mal = 1;
}
}else{
$mal =1;
}
if(isset($Apellidos)){
if($Apellidos != ""){
$Apellidos = no_x($Apellidos);
}else{
$mal = 1;
}
}else{
$mal =1;
}
if($mal == 0){
// Guardar-ho en un txt
$fecha = date("dmYHis");
$contrat = "$fecha$Nombre";
$cont = "$Nombre $Apellidos con correo $correo y número de contacto $tlf/$movil solicita consulta de internet por satélite";
$arch=fopen("../contrats/$contrat.txt","w+");
fwrite($arch,$cont);
fclose($arch);
$to = '[email protected]';
mail($to,"Peticion Internet","Copia guardada en /contrats/$contrat.txt\r\n$cont");
}else{
header("LOCATION:internet.html");
}
?>
Gracias por vuestra ayuda de antemano.