Foros del Web » Programando para Internet » PHP »

ayuda con formulario

Estas en el tema de ayuda con formulario en el foro de PHP en Foros del Web. Bueno... estoaba haciendo un formulario, pero no se por que me larga este error: Parse error: syntax error, unexpected '}', expecting ',' or ';' in ...
  #1 (permalink)  
Antiguo 26/12/2008, 12:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 48
Antigüedad: 16 años, 4 meses
Puntos: 0
ayuda con formulario

Bueno... estoaba haciendo un formulario, pero no se por que me larga este error:


Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/pl000143/public_html/recepcion.php on line 19

el codigo que tengo en recepcion .php es el siguiente:


Código PHP:
<?      
$nombre
=$_POST['nombre'];
$edad=$_POST['anos'];
$provincia=$_POST['provincia'];
$localidad=$_POST['ciudad'];
$fecha=$_POST['telefono'];
$email=$_POST['email'];
$sexo=$_POST['sexo'];
$comentario=$_POST['comentario'];

$destino="[email protected]";

$remitente="$nombre";

$asunto="atletismoriocuarto.com";

$contenido="nombre=$nombre\nedad=$anos\nprovincia=$provincia\nciudad=$ciudad\nemail=$email\nsexo=$sexo\ncomentario=$comentario\ntelefono=$telefono";

if(
mail($destino,$asunto,$contenido,"FROM:$remitente")){ echo "mensaje enviado con exito" }else{ echo "error al enviar mensaje, prueve mas tarde"}
?>
eso es todo lo que tiene, y lo peor es que ademas de largar el error nisiquiera me llega el mensaje

necesito ayuda porfavor...

Y DICULPEN SI ES UN ERROR MUY OBIO, NO SOY MUY BUENO EN PHP,

YA BUSQUE EN INTERNET Y NADA


espero puedan ayudarme y gracias
  #2 (permalink)  
Antiguo 26/12/2008, 12:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ayuda con formulario

Te falta el ; al final de los dos echos, por eso te marca el error. Recuerda que en PHP todas las lineas terminan en ;.

Saludos.
  #3 (permalink)  
Antiguo 26/12/2008, 12:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 48
Antigüedad: 16 años, 4 meses
Puntos: 0
haaa... muchas gracias, pruevo y te aviso =)

SI FUNCIONO =) muchas gracias, era un error muy tonto disculpame,

y habria forma de que despues de enviar el mensaje con exito y de que diga mensaje enviado con exito que me redireccione a la pagina principal u a otra pagina??

que codigo tendria que poner??

Última edición por GatorV; 26/12/2008 a las 15:36
  #4 (permalink)  
Antiguo 26/12/2008, 12:33
Avatar de vNothing  
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: ayuda con formulario

Si quieres que se muestre el mensaje de enviado con éxito y después redireccionar puedes usar un <meta http-equiv="refresh"...>. O directamente modificar la cabecera, en ese caso no se mostrará ningún dato antes de redireccionar.
  #5 (permalink)  
Antiguo 26/12/2008, 12:43
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: ayuda con formulario

Hola

Para hacer lo que quieres de redirigir, tendrias que quitar tu echo, ya que o envias header de echo o envias header de redireccion, asi que tendrias que poner algo asi:
Código PHP:
if(mail($destino,$asunto,$contenido,"FROM:$remitente")){
 
/*Redirijies al usuario a la pagina principal*/
header("Location: index.php");
 }
else{ 
/*Redirijes al usuario a otra pagina*/
header("Location: otrapagina.php");

Ahora, si quieres desplegar un mensaje de exito o error en la pagina principal al codigo anterior añadele una variable de sesion, y si esta seteada y tiene valor true, la pagina principal despliega el mensaje de exito, si esta seteada y es falsa despliega el error. Quedaria mas o menos asi:
Código PHP:
if(mail($destino,$asunto,$contenido,"FROM:$remitente")){
/*Seteas la variable de sesion*/
$_SESSION['exito_mensaje'] = true;
 
/*Redirijies al usuario a la pagina principal*/
header("Location: index.php");
 }
else{ 
/*Seteas la variable de sesion*/
$_SESSION['exito_mensaje'] = false;
/*Redirijes al usuario a la pagina principal*/
header("Location: otrapagina.php");

Ya que tienes esto solo te faltaria determinar en la pagina principal, algo asi:
Código PHP:
/*Verificas si la variable esta seteada y es true*/
if($_SESSION['exito_mensaje']){
echo 
"Tu mensaje se envio con exito";
//Quitas la variable para poderla usar otra vez
unset($_SESSION['exito_mensaje']);
}
elseif(!
$_SESSION['exito_mensaje']){
echo 
"Ha ocurrido un error con tu mensaje, intenta mas tarde";
//Quitas la variable para poderla usar otra vez
unset($_SESSION['exito_mensaje']);

Solo recuerda que tienes que iniciar la sesion antes de este codigo para que te funcionen las variables de sesion.

Saludos
  #6 (permalink)  
Antiguo 26/12/2008, 12:46
 
Fecha de Ingreso: diciembre-2007
Mensajes: 48
Antigüedad: 16 años, 4 meses
Puntos: 0
muchas gracias a los 2, me sirvio mucho, gracias

mira, yo deje asi

Código PHP:
$contenido="nombre=$nombre\nedad=$anos\nprovincia=$provincia\nciudad=$ciudad\nemail=$email\nsexo=$sexo\ncomentario=$comentario\ntelefono=$telefono";

if(
mail($destino,$asunto,$contenido,"FROM:$remitente")){
$_SESSION['exito_mensaje'] = true;
header("Location: index.php");
 }
else{ 
$_SESSION['exito_mensaje'] = false;
header("Location: formulario.php"); 
pero me larga este error:

Parse error: syntax error, unexpected $end in /home/pl000143/public_html/recepcion.php on line 26

si pudieran ayudarme les agradeceria, la linea 26 es el final, como si hubiera quedado algo sin cerrar

ya esta, ya lo solucione, gracias, me salvaron la vida

Última edición por GatorV; 26/12/2008 a las 15:36
  #7 (permalink)  
Antiguo 26/12/2008, 18:21
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: ayuda con formulario

No hay de que :), recuerda el karma jaja xD.
El $end te aparece porque te falta alguna coma, corchete, parentesis, etc.

Saludos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:12.