Foros del Web » Programando para Internet » PHP »

error en una linea :S

Estas en el tema de error en una linea :S en el foro de PHP en Foros del Web. me sale un error en una linea de codigo, y no me doy cuenta de cual es el error... a continuacion pongo todo el codigo, ...
  #1 (permalink)  
Antiguo 15/01/2007, 15:13
 
Fecha de Ingreso: enero-2007
Mensajes: 2
Antigüedad: 17 años, 3 meses
Puntos: 0
error en una linea :S

me sale un error en una linea de codigo, y no me doy cuenta de cual es el error...

a continuacion pongo todo el codigo, y en negrita y subrayado la linea 42 q da el error siguiente : "Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' in .../.../.../ on line 42"

<?php
foreach($HTTP_POST_VARS as $key => $val) $$key = $val;

$nuestro="[email protected]";

if ($email != '' && strstr($email,'@') && strstr($email,'.') && $nombre != '' && $texto != '' && $texto != 'Comments') {

// todo ok, igual deberiamos NO permitir codigo html en el mensaje ni en ningun campo.
$texto = strip_tags($texto);
$nombre = strip_tags($nombre);
$email = strip_tags($email);

// enviamos el email a nuestra direccion:
if (mail($nuestro,"Mensaje en GuestBook","NOMBRE: $nombre \nCORREO: $email \nMENSAJE: $texto","From: $nombre <$email>\n"."Reply-To: $email\n"."Content-Type: text/plain; charset=koi8-r\n"."Content-Transfer-Encoding: 8bit\n"."Return-path: $email\n"."X-Mailer: PHP/" . phpversion())){
echo "email enviado correctamente";

} else {

?>

<p>
Ha habido algun problema en nuestro servidor enviando el mensaje. Por favor, intente de nuevo
mas tarde. <br /><br />Perdonen las molestias.
</p>

<?
}

}if(!$nombre||!strstr($email,'@')||!strstr($email, '.')||!$email||!$texto||$texto=='Comments'){ ?>


<p>
No ha llenado todos los campos obligatorios o no ha proporcionado una direccion de correo válida.
Por favor vuelva atras y rellene los campos ‘Nombre’, 'Email' y ‘Texto’ antes de pulsar 'Enviar', gracias.
<br /><br />
Perdonen las molestias.
</p>

<?}
?>
</p>

agradezco de antemano cualquier ayuda!!
  #2 (permalink)  
Antiguo 16/01/2007, 08:17
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: error en una linea :S

Código PHP:
foreach($HTTP_POST_VARS as $key => $val) $$key $val
El $$key debe ir con un símbolo de $ no con 2 $$. Es decir

Código PHP:
foreach($HTTP_POST_VARS as $key => $val
   
$key $val
Para validar si una direccion de email es correcta te recomendaría algo mucho más rápido (utilizando patrones de cadenas). Además si lo pones en función o haces una clase de validaciones las puedes reutilizar. Te dejo un ejemplo

Código PHP:
function validateMail($email){
    
$re '/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i';
    return (
preg_match($re$email) ? true false);
}

$direccion_valida "[email protected]";
echo 
validateMail($direccion_valida);

$direccion_no_valida "mi_direccionfake.com";
echo 
validateMail($direccion_no_valida); 
Esta clase de preguntas las deberias preguntar en el foro general de PHP no en el subforo orientado a objetos

Última edición por Casuis; 16/01/2007 a las 08:36
  #3 (permalink)  
Antiguo 17/01/2007, 12:50
 
Fecha de Ingreso: enero-2007
Mensajes: 2
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: error en una linea :S

:O, muchas gracias! lo probare !
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 15:03.