Foros del Web » Programando para Internet » PHP »

no lo entiendo

Estas en el tema de no lo entiendo en el foro de PHP en Foros del Web. Hola q tal, tengo apache, php y mysql en un windows xp, y aunq no estoy muy muy seguro creo q todo funciona bien (lo ...
  #1 (permalink)  
Antiguo 29/12/2004, 02:59
 
Fecha de Ingreso: abril-2004
Ubicación: Murcia
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta no lo entiendo

Hola q tal, tengo apache, php y mysql en un windows xp, y aunq no estoy muy muy seguro creo q todo funciona bien (lo instale ayer).
El caso es q cuando entro como localhost a la pagina de phpinfo, no hay ningun problema, me aperece el cuadro tipico de informacion del php, pero he intentado ejecutar algun script que tenia hecho en linux y no funciona ninguno, este es un ejemplo:



formulario.html

<html>
<head>
<script type="text/javascript">
<!--
function evalua(formulario)
{
if(formulario.emilio.value=="") {
alert("Completa el e-mail");
return false;
}
}
-->
</script>

</head>
<body>
<form action="arroba.php" method="get" onSubmit="return evalua(this);">
<p><b>E_mail</b>:
<br> <input name="emilio" type="text" size="52">
<input type="submit" value="enviar">
</form>
</body>
</html>



arroba.php

<html>
<body>
<?php
$encontrado=0;
for($i=0;$i<strlen($emilio);$i++){
if($emilio[$i]=="@"){
$encontrado=1;
for ($j=$i;$j<strlen($emilio);$j++)
if ($emilio[$j]==".")
$encontrada=2;
}
}
if($encontrado!=2){
echo"ERROR EN EL MAIL";
}
else{
echo"<b> SU E-MAIL ES : $emilio</b> ";
}
?>
</body>
</html>









pase lo que pase, siempre me dice "ERROR EN EL EMAIL"
en caso de ejecutarlo desde el navegador sin localhost ni nada el resultado es este:

SU E-MAIL ES : $emilio "; } ?>



Alguien sabe que pasa? como pedo arreglarlo?
bueno gracias por todo.
  #2 (permalink)  
Antiguo 29/12/2004, 03:32
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 13 años, 2 meses
Puntos: 0
Primero de todo tendrias que rcojer la varible que envias por el metodo GET.

$emilio=$_GET['emilio'];

y para mostralo correctamente seria:

echo $emilio;
  #3 (permalink)  
Antiguo 29/12/2004, 04:21
 
Fecha de Ingreso: abril-2004
Ubicación: Murcia
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta

Gracias, mira esto si funciona:


<html>
<body>
<?php
$emilio=$_GET['emilio'];
echo"<b> SU E-MAIL ES : $emilio</b> ";
?>
</body>
</html>


pero esto otro no:


<html>
<body>
<?php
$emilio=$_GET['emilio'];
$encontrado=0;
for($i=0;$i<strlen($emilio);$i++){
if($emilio[$i]=="@"){
$encontrado=1;
for ($j=$i;$j<strlen($emilio);$j++)
if ($emilio[$j]==".")
$encontrada=2;
}
}
if($encontrado!=2){
echo"ERROR EN EL MAIL";
}
else{
echo"<b> SU E-MAIL ES : $emilio</b> ";
}
?>
</body>
</html>


Alguien sabe donde puede estar en error?
Gracias otra vez.
  #4 (permalink)  
Antiguo 29/12/2004, 04:37
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 13 años, 2 meses
Puntos: 0
Prueba esta funcion:
Código PHP:
$emilio=$_GET['emilio'];

function 
email_valido($email)

    if ( 
eregi ("^[a-z0-9]+([_\\.-][a-z0-9]+)*""@([a-z0-9]+([\.-][a-z0-9]+))*$"$email ))//compruebas que sea correcto el email

    return(
true); 
 }else{
    return(
false);

}

if(
email_valido($emilio)){
echo
"<b> SU E-MAIL ES : $emilio</b> ";
}else{
echo
"ERROR EN EL MAIL";

:P
Recuerdos
  #5 (permalink)  
Antiguo 29/12/2004, 10:48
 
Fecha de Ingreso: abril-2004
Ubicación: Murcia
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
:D, ya he encontrado el fallo (mejor dicho, se han dado cuenta en otro foro)


no es "$encontrada=2;"
sino "$encontrado=2;"

en fin, gracias por vuestrsa ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:20.