SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: delyryus en Jueves 9 de Junio de 2005, 03:02

Título: Form Y Php
Publicado por: delyryus en Jueves 9 de Junio de 2005, 03:02
tengo el siguiente codigo que procesa y manda por mail los datos de un form


Código: Text
  1. <?
  2. /**************************************
  3. File:  form.php
  4. Version: v1.0
  5. Fecha:  08.06.2005
  6. **************************************/
  7.  
  8. /*************
  9.   Variables
  10. *************/
  11. $para = "delyryus@gmail.com";
  12. $asunto = "Formulario de Contacto";
  13.  
  14. /*************
  15.  Funciones
  16. *************/
  17. function verifyMail($mail){
  18. // Saco espacios sobrantes al mail...
  19. $mail = trim( $mail );
  20. // Calculo la longitud de la dirección de mail...
  21. $mail_len = ( strlen( $mail ) )-1;
  22. // Creo algunas variables de interés...
  23. $arroba = strrpos( $mail,"@" );
  24. $punto = strrpos( $mail,"." );
  25. $arroba_count = substr_count( $mail,"@" );
  26. // Verifico la dirección de mail...
  27. if( (!$arroba) || ($arroba==1) || ($arroba==$mail_len) || (!$punto) || ($punto==$mail_len) || ($arroba_count!=1) ){
  28.  return 0;
  29. }
  30. else
  31. {
  32.  return $mail;
  33. }
  34. }
  35.  
  36. /*************
  37.     Main
  38. *************/
  39. if( empty( $_name ) || empty( $_email ) || empty( $_pedido ) )
  40. {
  41. // redirecciono al form si hay error...
  42. header( "Location: ".$_HTTTP_REFERER );
  43. }
  44. else
  45. {
  46. if( $_email = verifyMail( $_email ) )
  47. {
  48.  // Armo el mensaje...
  49.  string = "Nombre y apellido:\t\t".$nombre_apellido;
  50.  string = "\nEmail:\t\t".$mail;
  51.  string = "\nProvincia:\t\t".$provincia;
  52.  string = "\nCodigo Postal:\t\t".$codigo_postal;
  53.  string = "\nDireccion:\t\t".$direccion;
  54.  string = "\nLista de correo:\t\t".$lista;
  55.  string = "\nPedido:\n".$_pedido;
  56.  // Envio el email...
  57.  mail( $para , $asunto , $string );
  58.  // Redirecciono a la página principal...
  59.  header( "Location: index.htm" );
  60. }
  61. else
  62. {
  63.  // redirecciono al form si hay error...
  64.  header( "Location: ".$_HTTP_REFERER );
  65. }
  66. }
  67. ?>
  68.  

ahora, una vez que el servidor ejecuta el archivo procesar.php (todo el codigo anterior) me tira el siguiente error:

Citar
Parse error: parse error, unexpected '=' in /home/kabacchi/public_html/v20/yayco4/procesar.php on line 50


me dijeron en otro foro a que se denia a lo siguiente:

Citar
string = "Nombre y apellido:\t\t".$nombre_apellido;
string .= "\nEmail:\t\t".$mail;
string .= "\nProvincia:\t\t".$provincia;
string .= "\nCodigo Postal:\t\t".$codigo_postal;
string .= "\nDireccion:\t\t".$direccion;
string .= "\nLista de correo:\t\t".$lista;
string .= "\nPedido:\n".$_pedido;

Porque si no concatenas los valores en string, vas a eliminar todo lo que estaba antes, cuando haces el string .= estas concatenando el valor anterior con el valor nuevo.

PERO YA HICE LA PRUEBA, Y ME SIGUE TIRANDO EL MISMO ERROR:s:s

MUCHAS GRACIAS POR SU AYUDA!
Título: Re: Form Y Php
Publicado por: ibito en Jueves 9 de Junio de 2005, 07:48
no sera
'$string'? en vez de 'string'?


las variables empiezan con $
Título: Re: Form Y Php
Publicado por: delyryus en Sábado 11 de Junio de 2005, 01:09
jejej sip, era $string, lo solucione el otro dia pero como no tenia internete en casa no podia decir como lo habia solucionado :P:P
Título: Re: Form Y Php
Publicado por: delyryus en Martes 14 de Junio de 2005, 02:18
Solucione lo anterior, pero ahora tengo otro problema  :angry:  :huh:

el form no me llega a mi mail, y en vez de mostrar algun mensaje de error o redireccionar al index de la pagina, me deja la pantalla en blanco.

Que es lo que esta pasando??
Título: Re: Form Y Php
Publicado por: gnfrs en Sábado 18 de Junio de 2005, 04:38
Hola creo que el error puede ser este:


Las variables que vienen por el formularios te conviene accederlas desde $_POST[] porque si regiset_globals no está activado y los NOTICE o WARNINGS no se muestran en pantalla puede ser un problema eso, por otro lado... el código es tuyo? Te recomiendo que no utilizes código de terceros al menos que sea como aprendisage porque después no vas a saber cómo arreglar problemas como el que tenés...

Te recomiendo que armes el script desde 0.

Para validar la casilla de mail no hagas ese embrollo usá esto:
$valid = ereg('^(.*@[^.]*\..+)$', $_POST['email']);

Devuelve verdadero o falso dependiendo si el email tiene un formato correcto o no, hay cadenas de patrones más completas para validar emails pero esa la tengo a mano.

Cualquier cosa avisame.

Saludos.-

Gabriel S. Luraschi
luraschigabriel@gmail.com
·· Estudio Quadra ·· Programacion ·· Diseño ·· Innovando Internet ·· (http://www.estudioquadra.com.ar)


.
Título: Re: Form Y Php
Publicado por: delyryus en Sábado 18 de Junio de 2005, 06:48
Si, el codigo es 100% mio con un amigo,  pero ninguno de los dos encontramos el error, por eso decidimos postar aca
Título: Re: Form Y Php
Publicado por: gnfrs en Sábado 18 de Junio de 2005, 23:29
Bueno, pasame los scripts completos en un archivo zippeado y te los reviso si querés...
Título: Re: Form Y Php
Publicado por: delyryus en Domingo 19 de Junio de 2005, 02:16
ok, aqui tienes el script que procesa el formulario, y el formulario

Muchas gracias
Título: Re: Form Y Php
Publicado por: gnfrs en Domingo 19 de Junio de 2005, 04:17
Ahora estoy viendo un poco el código, te paso algunas recomendaciones para que te funcione bien.

   1) Para acceder a las variables del servidor utilizá siempre $_SERVER[] porque acceder a las variables globalmente puede darte problemas por la configuración de PHP y además es un agujero de seguridad hacer eso.
   2) Nunca confíes de la variable HTTP_REFERER, eso depende de las cabeceras que envíe el navegador.
   3) Quien dijo que van guiones bajos delante de las variables pasadas por POST ? El guión bajo va delante del array POST ($_POST) no delante de las variable del array.
   4) Yo utilizo el @ delante de las líneas de código que no quiero que generen un mensaje de error, fijate que si sacás las @ de las líneas cuando el usuario no completa dichos campos se genera un error.

No lo probé bien, pero así debería funcionar.

Saludos.-

Gabriel S. Luraschi

·· Estudio Quadra ·· Programacion ·· Diseño ·· Innovando Internet ·· (http://www.estudioquadra.com.ar)


.
Título: Re: Form Y Php
Publicado por: delyryus en Jueves 23 de Junio de 2005, 03:10
el problema ya esta solocionado!

me olvide de cambiar unas variables  :P  pero asi como te lo pase, anda perfecto


Perdon por hacerte perde el tiempo!
Título: Re: Form Y Php
Publicado por: gnfrs en Viernes 24 de Junio de 2005, 00:29
No me hiciste perder el tiempo, todo bien...

Me alegro que se te haya solucionado, ya hacía unos días que estabas con eso, pero igualmente pegale una ojeada a lo que te mandé, porque tu script seguramente va a andar mal en muchos servidores...

Saludos.-
Título: Re: Form Y Php
Publicado por: Altareum en Viernes 24 de Junio de 2005, 18:41
Acá les dejo una clase que encontre en internet para enviar mails, es bastante completa y llega a casi todos los correos...

Saludos.
Altareum.
Título: Re: Form Y Php
Publicado por: delyryus en Sábado 25 de Junio de 2005, 21:11
ok, probando el script.. luego te digo que me parece. ;)