Autor Tema: Ayuda con formulario de contacto PHP  (Leído 2442 veces)

Desconectado jvildosola

  • Avanzado
  • ****
  • Mensajes: 1998
Ayuda con formulario de contacto PHP
« en: Abril 03, 2014, 14:35:19 pm »
Tengo un código de un formulario de contacto, que aparte del correo, se puede adjuntar un archivo, la idea es que aparte de entregar el correo al correo del dominio, entregue una copia también a la persona que lo escribió, hasta ahora como lo tengo, lo hace pero me esta arrojando un error y aunque ese error no afecte en envío del formulario, me gustaría sacar ese error, pero no he podido lograrlo y como se que por acá andan algunos capos en PHP, es que me atrevo a postear el código, para ver si me pueden dar una ayudita.
Gracias.


los errores


[spoiler]Warning: Missing argument 3 for form_mail(), called in /home/empresa/public_html/envio.php on line 80 and defined in /home/mtazon/public_html/envio.php on line 11
 
Warning: Missing argument 4 for form_mail(), called in /home/empresa/public_html/envio.php on line 80 and defined in /home/mtazon/public_html/envio.php on line 11[/spoiler]

 Y este es el código.

[spoiler]<?php

function form_mail($sPara, $sAsunto, $sTexto, $sDe)

{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";


$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras,$sDe ));
}

//cambiar aqui el email


if (form_mail("correo@empresa.cl", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))

if (form_mail("$_POST[email]", $_POST[asunto]))

echo "



 <h1>Su formulario fue enviado con exito </h1>
<form>   
<p>Pronto nos contactaremos con usted <br>
empresa - Chile<br>
<br>
</p>
</form>

";
?>[/spoiler]
« Última modificación: Abril 03, 2014, 14:38:41 pm por jvildosola »

Desconectado KekoCh

  • Experto
  • *****
  • Mensajes: 3108
  • La adolescencia comienza a las 50 años
Re:Ayuda con formulario de contacto PHP
« Respuesta #1 en: Abril 03, 2014, 15:14:48 pm »
Esto fue lo que entendí yo....



Esto de no tener idea de programar... ;D
El que nunca ha pasado de 120 km/hr en carretera que lance la primera piedra...

Desconectado Suzucar

  • Junior
  • ***
  • Mensajes: 888
Re:Ayuda con formulario de contacto PHP
« Respuesta #2 en: Abril 03, 2014, 15:27:22 pm »
Perrín revisa esta línea

Citar
if (form_mail("$_POST[email]", $_POST[asunto]))

requiere 4 argumentos, tienes puesto 2
El problema de nuestra especie, es que nunca estará de acuerdo en nada.

Desconectado Marcelo S.

  • Experto
  • *****
  • Mensajes: 3656
Re:Ayuda con formulario de contacto PHP
« Respuesta #3 en: Abril 03, 2014, 15:38:42 pm »
Esto fue lo que entendí yo....



Esto de no tener idea de programar... ;D

El que sabe "SABE", el que no sabe es "JEFE".

Desconectado pipe_5

  • Moderador
  • Experto
  • *****
  • Mensajes: 21892
Re:Ayuda con formulario de contacto PHP
« Respuesta #4 en: Abril 03, 2014, 16:08:42 pm »

El que sabe "SABE", el que no sabe, paga 10 lucas

:chan:


Enviado desde mi iPhone con Tapatalk


Dos franceses, un Ruso,un Japo y un Chino, y faltó la foto del Indio maruti :)

Desconectado jvildosola

  • Avanzado
  • ****
  • Mensajes: 1998
Re:Ayuda con formulario de contacto PHP
« Respuesta #5 en: Abril 03, 2014, 16:08:52 pm »
Muchas gracias Suzucar, voy a darle una mirada.

Desconectado Tandersan

  • Experto
  • *****
  • Mensajes: 10032
Re:Ayuda con formulario de contacto PHP
« Respuesta #6 en: Abril 03, 2014, 18:04:05 pm »
Lo que dijo Suzucar.

function form_mail($sPara, $sAsunto, $sTexto, $sDe)
Structure. Logic. Function. Control.
A structure cannot stand without a foundation.
Logic is the foundation of function.
Function is the essence of control.
I am in control.

Desconectado jvildosola

  • Avanzado
  • ****
  • Mensajes: 1998
Re:Ayuda con formulario de contacto PHP
« Respuesta #7 en: Abril 03, 2014, 21:43:23 pm »
Mañana apenas llegue a la oficina le daré una mirada, gracias por la ayuda

Desconectado sinceman

  • Junior
  • ***
  • Mensajes: 528
  • Blublublu
Re:Ayuda con formulario de contacto PHP
« Respuesta #8 en: Abril 03, 2014, 22:20:06 pm »
No es un error, es sólo una advertencia por eso no influye en la ejecución del script.
Si no encuentras el error siempre puedes poner esta línea de código al comienzo.

 <?php
 error_reporting(0);
 // Desactivar toda notificación de error error_reporting(0);
?>
 
Lo que hace es ocultar las advertencias y mostrar solo los errores graves.
Si tuviera un pc a mano te ayudaría más jaja
Saludos.

Enviado desde mi ST25i usando Tapatalk 2


Desconectado jvildosola

  • Avanzado
  • ****
  • Mensajes: 1998
Re:Ayuda con formulario de contacto PHP
« Respuesta #9 en: Abril 04, 2014, 07:44:14 am »
Te pasaste y tienes toda la razón, es solo una advertencia, ya que la sentencia que debe ejecutar la ejecuta sin problemas, la idea del PHP, es enviar un correo de una persona que visita la pagina web donde va insertado y además tiene la posibilidad de enviar un archivo adjunto y lo otro es que le envía una copia del formulario, a el.
Gracias.

Desconectado jvildosola

  • Avanzado
  • ****
  • Mensajes: 1998
Re:Ayuda con formulario de contacto PHP
« Respuesta #10 en: Abril 04, 2014, 07:52:55 am »
Acabo de probar y quedo impecable. Gracias.

Desconectado Tandersan

  • Experto
  • *****
  • Mensajes: 10032
Re:Ayuda con formulario de contacto PHP
« Respuesta #11 en: Abril 04, 2014, 12:03:43 pm »
Buena. Para el código en servidores donde no tienes control la función es efectiva.
Pero si es tu servidor casero, creo recordar que puedes setearlo directamente en el php.ini. Así no tienes que incluir el código en cada script.
Structure. Logic. Function. Control.
A structure cannot stand without a foundation.
Logic is the foundation of function.
Function is the essence of control.
I am in control.

Desconectado jvildosola

  • Avanzado
  • ****
  • Mensajes: 1998
Re:Ayuda con formulario de contacto PHP
« Respuesta #12 en: Abril 04, 2014, 12:57:13 pm »
Es un servidor de pago, lo bueno es que hasta el momento he realizado varias pruebas y ha funcionado bastante bien, le estoy haciendo una pagina a unos amigos y tal cual a lo amigo porque soy novato y autodidacta totalmente en el tema y la idea fue mejorar un poco lo que le habían realizado antes y por lo menos, se ve bastante mejor y completo, lo mejor de todo para ellos, es que es gratis,  :risa2:

Tags:
     


    A la memoria de Alex Feliú a.k.a Rommel