Foros del Web » Programando para Internet » PHP »

me revuelvo con los elses e ifs

Estas en el tema de me revuelvo con los elses e ifs en el foro de PHP en Foros del Web. sorry por el tema en el cual me he revuleto y perdonen que les muestre el codigo completo pero creo que es lo mejor: Código ...
  #1 (permalink)  
Antiguo 31/07/2004, 00:44
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
Exclamación me revuelvo con los elses e ifs

sorry por el tema en el cual me he revuleto y perdonen que les muestre el codigo completo pero creo que es lo mejor:

Código PHP:
<?php //iniciciamos
 
if ($submit) {
//Agregamos una funcion para que no nos puedan agregar algun tipo de caracter html
function quitar($msg)
{
$msg str_replace("<","&lt;",$msg);
$msg str_replace(">","&gt;",$msg);
$msg str_replace("\'","'",$msg);
$msg str_replace('\"',"&quot;",$msg);
$msg str_replace("\\\\","\",$msg);
return 
$msg;
}
$autor=trim($nombre);//revisamos que los campos esten llenos y validos
$email=trim($email);
if(empty(
$autor)) {
echo 
"<font class=style4>Y como vamos a saber tu nombre?<br><br><a href=javascript:history.back()>Atras</a></font>";
}
if (
$email =="") {
echo 
"<font class=style4>Como te vamos a contestar?<br><br><a href=javascript:history.back()>Atras</a></font>";
}
if (!
ereg("^[^@][email protected]([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,}$"$email)) { // email correcto
echo "<font class=style4>Checa tu MAIL!<br><br><a href=javascript:history.back()>Atras</a></font>";
}
else
{
$asunto "Staff en linea, Han enviado un ".$asunt." de Portal Cancun";
$staff "[email protected]";
$headers "MIME-Version: 1.0\r\n"
$headers "From: $email\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
$headers .= "Reply-To: [email][email protected][/email]\r\n"
$mensaje "<html><head></head><body><font face=arial,tahoma size=2 color=black><div align=center><b>STAFF EN LINEA:</b></div><br><br>Han Enviado la siguiente informacion
desde <a href=http://www.portalcancun.com target=_blank>portal cancun:</a><br><br> <b>Nombre:</b> "
.$nombre."<br><br><b>[email protected]:</b> ".$email."<br><br><b>Asunto:</b> ".$asunt."
<br><br><b>Mensaje:</b> "
.$msg."<br><br><b>Dia y Hora de envio:</b> ".$fecha."<br><br><b>IP:</b> ".$ip."<br><br>Favor de contestar lo antes posible el admin(Willy, Clst o Ger) que este en linea.<br><br><b> Aqui Reportandose Robot Portal Cancun, PHP POWA!</b></font>";
mail($staff$asunto$mensaje$headers);
echo 
'<div align=center><span class=style4><br><br>Muchas Gracias <b>'.$nombre.'</b>, tu mensaje ha sido enviado.<br>
              <a href=index.php>Ir al Inicio<br><br></a></span></div>'
;
              }
              
             
              else { 
              echo 
'
              <form method="post" action="'
?> <? echo $PHP_SELF?> <? echo'"  name=reduce enctype="multipart/form-data">
              <input name="fecha" type="hidden" value="'
?> <?php echo date("d-m-Y h:i:s"); ?> <?php echo'"><input name="ip" type="hidden" value="'?><? if(getenv(HTTP_X_FORWARDED_FOR)) { $getip getenv(HTTP_X_FORWARDED_FOR); } 
    elseif(
getenv(HTTP_CLIENT_IP)) { $getip getenv(HTTP_CLIENT_IP); } 
    else { 
$getip $REMOTE_ADDR; } 
    echo 
$getip ?> <? echo'">
              <table width="450" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#0099CC">
                <tr bgcolor="#E8EEF2" class="style4">
                  <td colspan="2"><div align="center"><strong>SOPORTE EN LINEA </strong></div></td>
                  </tr>
                <tr bgcolor="#E8EEF2" class="style4">
                  <td width="100"><strong>Nombre:</strong></td>
                  <td><input name="nombre" type="text" id="nombre" size="35" maxlength="50"></td>
                </tr>
                <tr bgcolor="#E8EEF2" class="style4">
                  <td width="100"><strong>E-mail:</strong></td>
                  <td><input name="email" type="text" id="email" size="35" maxlength="100"></td>
                </tr>
                <tr bgcolor="#E8EEF2" class="style4">
                  <td width="100"><strong>Asunto:</strong></td>
                  <td><select name="asunt" id="asunt">
                    <option value="Invitacion">Invitacion / Publicidad</option>
                    <option value="Ayuda" selected>Ayuda / Soporte</option>
                    <option value="Error">Error / Link roto</option>
                    <option value="Comentario">Comentario / Critica</option>
                    <option value="Mensaje">Otra cosa</option>
                  </select></td>
                </tr>
                <tr bgcolor="#E8EEF2" class="style4">
                  <td valign="top"><strong>Tu Mensaje: </strong></td>
                  <td><textarea name="msg" cols="35" rows="8" wrap="VIRTUAL" id="msg" onKeyDown="limite(this,8000)"  onKeyUp="limite(this,8000)"></textarea></td>
                </tr>
                <tr bgcolor="#E8EEF2" class="style4">
                  <td colspan="2" valign="top"><div align="center"><strong>Maximo</strong> <input name="cont" type="text" size="6" value="8000" readonly maxlength="5"></div></td>
                </tr>
                                <tr bgcolor="#E8EEF2" class="style4">
                  <td colspan="2" valign="top"><div align="center">
                    <input type="submit" name="submit" value="Enviar">
                  </div></td>
                </tr>
              </table>
              </form>               <p align="center"><strong><span class="style10">*IMPORTANTE</span>:</strong> Recuerda que por la publicidad, cubrimiento de evento o por afiliacion no se cobra absolutamente nada. </p></td>
'
;
 }
  
?>
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #2 (permalink)  
Antiguo 31/07/2004, 00:46
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
doh!, el problema es que quiero que se revisen los campos que esten llenos, de no ser asi emitir un echo y no enviar el email de estar todo bien enviar el email.
Tambien como se habran podido dar cuenta agregue la funcion de que de no enviar un submit se emitira el formulario entonces son varios if y elses y ya me duele un poco la cabeza tal vez no logro buscarle la forma, disculpen por la tonteria y de nuevo gracias.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #3 (permalink)  
Antiguo 31/07/2004, 00:51
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
Me van a matar, cabe mencionar que el error esta que cuando mando el formulario da los echos de estar vacios los campos pero sigue mandando el email. <(¬¬)|
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #4 (permalink)  
Antiguo 31/07/2004, 02:54
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 4 meses
Puntos: 0
la cosa es que solo esta tomando un else, el del email, o sea que si cualquiera de los otros dos esta incorrecto aun asi va a ejecutar la funcion de email. lo que podrias hacer es algo asi
NOTA: que no lo he probado, lo escribi en la marcha, pero te dara la idea.

Código PHP:
$valido "Si"//ponemos una variable para saber si continuamos, la iniciamos en Si

if(empty($autor)) { 
echo 
"<font class=style4>Y como vamos a saber tu nombre?<br><br><a href=javascript:history.back()>Atras</a></font>"
$valido "No"// como hubo un error, lo cambiamos a No


if (
$email =="") { 
echo 
"<font class=style4>Como te vamos a contestar?<br><br><a href=javascript:history.back()>Atras</a></font>"
$valido "No"// como hubo un error, lo cambiamos a No

if (!
ereg("^[^@][email protected]([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,}$"$email)) { // email correcto 
echo "<font class=style4>Checa tu MAIL!<br><br><a href=javascript:history.back()>Atras</a></font>"
$valido "No"// como hubo un error, lo cambiamos a No


if (
$valido == "No") {
echo 
"hubo un error, por favor corriga sus datos";
} else { 
//como $validar estaba en "Si", no hubo problemas :)
$asunto "Staff en linea, Han enviado un ".$asunt." de Portal Cancun"
$staff "[email protected]"
$headers "MIME-Version: 1.0\r\n"
$headers "From: $email\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
$headers .= "Reply-To: [email][email protected][/email]\r\n"
$mensaje "<html><head></head><body><font face=arial,tahoma size=2 color=black><div align=center><b>STAFF EN LINEA:</b></div><br><br>Han Enviado la siguiente informacion 
desde <a href=http://www.portalcancun.com target=_blank>portal cancun:</a><br><br> <b>Nombre:</b> "
.$nombre."<br><br><b>[email protected]:</b> ".$email."<br><br><b>Asunto:</b> ".$asunt.
<br><br><b>Mensaje:</b> "
.$msg."<br><br><b>Dia y Hora de envio:</b> ".$fecha."<br><br><b>IP:</b> ".$ip."<br><br>Favor de contestar lo antes posible el admin(Willy, Clst o Ger) que este en linea.<br><br><b> Aqui Reportandose Robot Portal Cancun, PHP POWA!</b></font>"
mail($staff$asunto$mensaje$headers); 
echo 
'<div align=center><span class=style4><br><br>Muchas Gracias <b>'.$nombre.'</b>, tu mensaje ha sido enviado.<br> 
              <a href=index.php>Ir al Inicio<br><br></a></span></div>'

              } 
espero te ayude :)
__________________
Shanti Castillo G.
  #5 (permalink)  
Antiguo 31/07/2004, 03:42
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
Shantic le he agregado lo que falta de codigo y funciona perfecto, muchas gracias por tu tiempoo y la idea, me ayudaste mucho, gracias de nuevo.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
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 20:42.