Foros del Web » Programando para Internet » PHP »

Crear forumulario php para enviar

Estas en el tema de Crear forumulario php para enviar en el foro de PHP en Foros del Web. Hola a todos! Pido disculpas por molestarles.. pero llevo 1 horita intentando areglar.. pero es la primera vez que trato con php.. Estoy haciendo un ...
  #1 (permalink)  
Antiguo 13/10/2011, 10:27
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Crear forumulario php para enviar

Hola a todos! Pido disculpas por molestarles.. pero llevo 1 horita intentando areglar.. pero es la primera vez que trato con php..

Estoy haciendo un formulario de envio.. y el problema es que no me funciona.. sale que hay 6 errores.. y no se ni por donde empesar.. aqui os lo dejo, si alguien tan amable me pudiera decir donde podria estar el fallo? y como areglarlo?
Ahi va todo el .php

Código PHP:
<?php $nombre $_POST['nombre'];
$mail $_POST['mail'];
$dni$_POST['dni'];
$contrato $_POST['contrato'];

if(
$nombre == "" || $mail == "" || $dni == ""; ){
$error=1;

}

elseif(!
eregi("^[a-z0-9]+([_.-][a-z0-9]+)*" ."@"."([a-z0-9]+([.-][a-z0-9]+)*)+".".[a-z]{2,}"."$",$correo)){
$error=2Si el correo electronico no tiene un formato validomostrara el error numero 2
}

if(
$error==1){
echo 
"El siguiente error ha ocurrido!<BR>"
echo 
"No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
exit;
}



elseif(
$error==2){

echo 
"El siguiente error ha ocurrido!<BR>";
echo 
"El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
exit;
}

else{
print 
"<meta http-equiv="refresh" content="0;URL=gracias.html">";
}

$header .= "X-Mailer: PHP/" phpversion() . " rn";
$header .= "Mime-Version: 1.0 rn";
$header .= "Content-Type: text/plain";



$mensaje "Este mensaje fue enviado por " $nombre " rn";
$mensaje .= "Su e-mail es: " $mail " rn";
$mensaje .= "Su dni es: " $dni " rn";
$mensaje .= "contrato: " $_POST['contrato'] . " rn";
$mensaje .= "Enviado el " date('d/m/Y'time());


$para '[email protected]';

mail($para$asuntoutf8_decode($mensaje), $header); 

?>
También adjunto el html, aun que me parece que esta bien:

http://mermelada.uphero.com/contrato%20legal.html

Ojala tenga areglo!
  #2 (permalink)  
Antiguo 13/10/2011, 10:32
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Crear forumulario php para enviar

Seria bueno que pusieras lo errores, por cierto esto esta bien?

"$dni == "";"
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #3 (permalink)  
Antiguo 13/10/2011, 10:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 2
Respuesta: Crear forumulario php para enviar

No me a dado tiempo de verlo mucho pero asi a primera vista:

if($nombre == "" || $mail == "" || $dni == ""; ){

Esta mal porque sobra el punto y coma, seria asi:

if($nombre == "" || $mail == "" || $dni == ""){

elseif(!eregi("^[a-z0-9]+([_.-][a-z0-9]+)*" ."@"."([a-z0-9]+([.-][a-z0-9]+)*)+".".[a-z]{2,}"."$",$correo)){
$error=2; Si el correo electronico no tiene un formato valido, mostrara el error numero 2
}

Parece que se te a olvidado comentar la ultima frase para que la tome como comentario, seria asi:

elseif(!eregi("^[a-z0-9]+([_.-][a-z0-9]+)*" ."@"."([a-z0-9]+([.-][a-z0-9]+)*)+".".[a-z]{2,}"."$",$correo)){
$error=2; //Si el correo electronico no tiene un formato valido, mostrara el error numero 2
}

Siento no ser de mas ayuda pero no me a dado tiempo a fijarme en nada mas

Un saludo
  #4 (permalink)  
Antiguo 13/10/2011, 10:35
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Crear forumulario php para enviar

Este eregi esta obsoleta tal vez sea eso http://www.php.net/manual/es/function.eregi.php
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #5 (permalink)  
Antiguo 13/10/2011, 10:38
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Muchisimas Gracias por las rapidas respuestas! Probando inmediatamente!
  #6 (permalink)  
Antiguo 13/10/2011, 10:40
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

No.. me sigue mostrando mas errores... :(

Seguire probando..
  #7 (permalink)  
Antiguo 13/10/2011, 10:41
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Crear forumulario php para enviar

Coloca todos los errores aquí...
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 13/10/2011, 10:42
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por andresdzphp Ver Mensaje
Coloca todos los errores aquí...
No se como hacerlo

Yo veo los errores por aqui: http://mermelada.uphero.com/enviar.php
  #9 (permalink)  
Antiguo 13/10/2011, 10:44
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Crear forumulario php para enviar

yo solo veo esto:

Cita:
Website Under Review

You are seeing this page because the system administrator of 000webhost.com is currently checking this website for malicious content. This redirect page will be removed once we finish manually checking all files on this account.
Te están investigando la cuenta...
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 13/10/2011, 10:45
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por andresdzphp Ver Mensaje
yo solo veo esto:



Te están investigando la cuenta...
ups :S

Voy a probar en otro host.. Haber...

Muchas Gracias pro la buena intencion! Ahora vuelvo
  #11 (permalink)  
Antiguo 13/10/2011, 10:47
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Crear forumulario php para enviar

Ten en cuenta que muchos hosting gratuitos tienen desactivada las funciones para el envio de emails y lo tienen prohibido.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 13/10/2011, 10:47
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Crear forumulario php para enviar

Supongo que te aparecen en el navegador(si no no entiendo ), pues como cualquier texto seleccionalo
ctrl + c y en el post ctrl + v.

Solo veo la paginna de inicio del host en el que te alojas.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #13 (permalink)  
Antiguo 13/10/2011, 10:53
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por CesarHC Ver Mensaje
Supongo que te aparecen en el navegador(si no no entiendo ), pues como cualquier texto seleccionalo
ctrl + c y en el post ctrl + v.

Solo veo la paginna de inicio del host en el que te alojas.
jeje que bobo claro! ahi va:


Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a2668010/public_html/enviar.php on line 17
  #14 (permalink)  
Antiguo 13/10/2011, 10:55
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Crear forumulario php para enviar

En esa línea te sobra el punto y coma

Código PHP:
Ver original
  1. if($nombre == "" || $mail == "" || $dni == "" ){

Además tienes graves problemas con las comillas, te recomiendo que te leas esto urgente:

COMO: usar las comillas bien
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 13/10/2011, 10:56
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por andresdzphp Ver Mensaje
Ten en cuenta que muchos hosting gratuitos tienen desactivada las funciones para el envio de emails y lo tienen prohibido.
Si tienes toda la razon, mientras lo montava.. pude mandar 2 emails, pero sin los codigos de los errores 1 y error 2,

También adjunto donde saque este formulario: http://www.taringa.net/posts/info/12...lario-php.html
  #16 (permalink)  
Antiguo 13/10/2011, 10:58
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por andresdzphp Ver Mensaje
En esa línea te sobra el punto y coma

Código PHP:
Ver original
  1. if($nombre == "" || $mail == "" || $dni == "" ){

Además tienes graves problemas con las comillas, te recomiendo que te leas esto urgente:

COMO: usar las comillas bien
jeje Gracias! la verdad es que es mi primer dia con PHP (Deberias ver mi cara) jeje

Dejo el lugar de donde lo saque, contacte con el tio del post pero dudo que conteste ya que su ultima visita al acomunidad fue hace 8 dias http://www.taringa.net/posts/info/12...lario-php.html
  #17 (permalink)  
Antiguo 13/10/2011, 11:00
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Crear forumulario php para enviar

Bueno los errores están claros. No puedes usar comillas dobles dentro de comillas dobles... Debes escaparlas o combinar sencillas con dobles. Lee el enlace que te dejé.

Esto está mal

Código PHP:
Ver original
  1. print "<meta http-equiv="refresh" content="0;URL=gracias.html">";

esto está mejor

Código PHP:
Ver original
  1. print '<meta http-equiv="refresh" content="0;URL=gracias.html">';
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #18 (permalink)  
Antiguo 13/10/2011, 11:01
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por andresdzphp Ver Mensaje
Bueno los errores están claros. No puedes usar comillas dobles dentro de comillas dobles... Debes escaparlas o combinar sencillas con dobles. Lee el enlace que te dejé.

Esto está mal

Código PHP:
Ver original
  1. print "<meta http-equiv="refresh" content="0;URL=gracias.html">";
Voy a leerlo de cabeza! Gracias, pero antes pruebo corregir este error
  #19 (permalink)  
Antiguo 13/10/2011, 11:05
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Esta claro que el error esta en este codigo... por que sin el me lo manda bien..

Código PHP:

if($nombre == "" || $mail == "" || $dni == ""){ 
$error=1;

}

elseif(!
eregi("^[a-z0-9]+([_.-][a-z0-9]+)*" ."@"."([a-z0-9]+([.-][a-z0-9]+)*)+".".[a-z]{2,}"."$",$correo)){
$error=2
}

if(
$error==1){
echo 
"El siguiente error ha ocurrido!<BR>"
echo 
"No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
exit;
}



elseif(
$error==2){

echo 
"El siguiente error ha ocurrido!<BR>";
echo 
"El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
exit;

  #20 (permalink)  
Antiguo 13/10/2011, 11:06
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Crear forumulario php para enviar

Como te digo el problema está en las comillas... Además de que debes cambiar eregi por preg_match, en google encuentras bastantes expresiones listas.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #21 (permalink)  
Antiguo 13/10/2011, 11:09
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Crear forumulario php para enviar

En tus if creo que es asi:

Código PHP:
Ver original
  1. if($error==1){
  2. echo "El siguiente error ha ocurrido!<BR>";
  3. echo 'No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>';
  4. }
  5. elseif($error==2){
  6.  
  7. echo "El siguiente error ha ocurrido!<BR>";
  8. echo 'El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>';
  9. }

Y no asi:

Código PHP:
Ver original
  1. if($error==1){
  2. echo "El siguiente error ha ocurrido!<BR>";
  3. echo "No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
  4. }
  5.  
  6.  
  7.  
  8. elseif($error==2){
  9.  
  10. echo "El siguiente error ha ocurrido!<BR>";
  11. echo "El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
  12. }

Como te dijeron revisa las comillas.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #22 (permalink)  
Antiguo 13/10/2011, 11:10
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por andresdzphp Ver Mensaje
Como te digo el problema está en las comillas... Además de que debes cambiar eregi por preg_match, en google encuentras bastantes expresiones listas.
Genial! Voy a por ellas!

Cerramos el tema!!! Me aveis sido de gran ayuda!! Solo me falta encontrar esos codigos sin fallos y listo! (Y leer el articulo de las comillas)

Un millon de Gracias! Si necesitais cual quier cosa! Avisat porfavor! (Se me da muy bien el SEO si hay algo que pueda ayudar.. dudeis en preguntar por mp)
  #23 (permalink)  
Antiguo 13/10/2011, 11:12
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Cita:
Iniciado por CesarHC Ver Mensaje
En tus if creo que es asi:

Código PHP:
Ver original
  1. if($error==1){
  2. echo "El siguiente error ha ocurrido!<BR>";
  3. echo 'No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>';
  4. }
  5. elseif($error==2){
  6.  
  7. echo "El siguiente error ha ocurrido!<BR>";
  8. echo 'El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>';
  9. }

Y no asi:

Código PHP:
Ver original
  1. if($error==1){
  2. echo "El siguiente error ha ocurrido!<BR>";
  3. echo "No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
  4. }
  5.  
  6.  
  7.  
  8. elseif($error==2){
  9.  
  10. echo "El siguiente error ha ocurrido!<BR>";
  11. echo "El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
  12. }

Como te dijeron revisa las comillas.


Lo he probado y nada... me dice esto:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a2668010/public_html/enviar.php on line 17

Pero Gracias!!!
  #24 (permalink)  
Antiguo 13/10/2011, 11:15
djkiku
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear forumulario php para enviar

Muchas Gracias a todos!!! Encontre en error !!!! Sin ustedes no lo lograria!!!

Simplemente borre lo que esta en negrita:



if($error==1){
echo "El siguiente error ha ocurrido!<BR>";
echo "No ha llenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
exit;
}



elseif($error==2){

echo "El siguiente error ha ocurrido!<BR>";
echo "El correo electronico es invalido!<BR> Por favor vuelva <A HREF="javascript:history.back()">atras</A>.<BR>";
exit;
}



Muchisimas Gracias!!!!! Todo areglado! :P

Etiquetas: deenvio, formulario
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 07:07.