Foros del Web » Programando para Internet » PHP »

problema con formulario de contacto html-php

Estas en el tema de problema con formulario de contacto html-php en el foro de PHP en Foros del Web. Hola, Estoy haciendo una web para mi empresa y tengo un problema con el formulario de contacto. Lo he echo con dreamweaver, y en teoria ...
  #1 (permalink)  
Antiguo 30/03/2010, 17:50
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
problema con formulario de contacto html-php

Hola,
Estoy haciendo una web para mi empresa y tengo un problema con el formulario de contacto. Lo he echo con dreamweaver, y en teoria lo unico que tiene dificultad es que tiene un menu desplegable que segun la opcion el mail va a una cuenta de correo o a otra. Os pego el archivo en html y el php a ver si veis algun problema, yo s que soy muy limitado. Gracias de antemano.

HTML:

<div id="cuerpocontacto">
<form action="contacto.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="440" border="0" cellspacing="2">
<tr>
<td width="148"><div align="right"><span class="Estilo12">Nombre*</span></div></td>
<td width="78">&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="nombre" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Empresa</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="empresa" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Tel&eacute;fono*</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="telefono" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">E-mail*</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="correo" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Asunto*</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="asunto" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td height="34"><div align="right"><span class="Estilo12">Mensaje*</span></div></td>
<td colspan="3" rowspan="4"><label>
<div align="right">
<textarea name="textarea" cols="30" rows="5"></textarea>
</div>
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Adjuntar</span></div></td>
<td colspan="3"><label>
<label></label>
<label>
<div align="right">
<input name="file" type="file" size="30" />
</div>
</label></td>
</tr>
<tr>
<td height="29">&nbsp;</td>
<td><label>
</label>
<label><span class="Estilo12">Dirigido a*</span> </label></td>
<td colspan="2"><label>
<div align="right">
<select name="select">
<option>Informacion</option>
<option>Presupuestos</option>
</select>
</div>
</label></td>
</tr>
<tr>
<td><span class="Estilo13">(*) Campos Obligatorios </span></td>
<td>&nbsp;</td>
<td width="127"><label>
<input type="reset" name="Submit" value="Borrar Formulario" />
</label></td>
<td width="69"><label>
</label></td>
</tr>
</table>
</form>
</div>



PHP:


<?php





$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$correo = $_POST['correo'];
$asunto = $_POST['asunto'];
$destinatario = $_POST['select'];

if($destinatario == "informacion"){
$correo = "********@hotmail.com";
}elseif($destinatario == "presupuestos"){
$correo = "******@hotmail.com";
}

$header = 'Mensaje enviado por: ' . $nombre . " \r\n";
$header = 'Empresa: ' . $empresa . " \r\n";
$header = 'Asunto: ' . $asunto . " \r\n";
$header = 'Correo electrónico: ' . $correo . " \r\n";
$header = 'Teléfono: ' . $telefono . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje ha sido enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = $correo ;
$asunto = 'Asunto';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Mensaje enviado correctamente';

?>
  #2 (permalink)  
Antiguo 31/03/2010, 09:13
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con formulario de contacto html-php

Haz lo siguiente:

1.- Cambia select name="select" por select name="destinatario"
2.- Cambia
Código PHP:
$destinatario $_POST['select']; 
por
Código PHP:
//Con esto le asignas a $correo el correo1 si viene informacion, en caso contrario todos se iran al correo2
$correo strtoupper($_POST['destinatario'])==strtoupper("informacion")?"[email protected]":"[email protected]"
3.- Elimina
Código PHP:
if($destinatario == "informacion"){
$correo "********@hotmail.com";
}elseif(
$destinatario == "presupuestos"){
$correo "******@hotmail.com";

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 31/03/2010, 09:40
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema con formulario de contacto html-php

Hola,
llevo todo el día dandole vueltas,antes lo que hacia(con el codigo anterio) era enviarme el mail al correo que yo introducia en el formulario, donde se pide en mail, he hecho lo que me has dicho y ahora ya no hace ni eso. vuelvo a adjuntar de nuevo los codigos a ver si alguien encuentra algun fallo, seguro es una pijada..gracias otra vez.

Html:

<div id="cuerpocontacto">
<form action="contacto.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="440" border="0" cellspacing="2">
<tr>
<td width="148"><div align="right"><span class="Estilo12">Nombre*</span></div></td>
<td width="78">&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="nombre" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Empresa</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="empresa" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Tel&eacute;fono*</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="telefono" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">E-mail*</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="mail" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Asunto*</span></div></td>
<td>&nbsp;</td>
<td colspan="2"><label>
<div align="right">
<input name="asunto" type="text" size="30" tabindex="1"/>
</div>
</label></td>
</tr>
<tr>
<td height="34"><div align="right"><span class="Estilo12">Mensaje*</span></div></td>
<td colspan="3" rowspan="4"><label>
<div align="right">
<textarea name="mensaje" cols="30" rows="5"></textarea>
</div>
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><div align="right"><span class="Estilo12">Adjuntar</span></div></td>
<td colspan="3"><label>
<label></label>
<label>
<div align="right">
<input name="file" type="file" size="30" />
</div>
</label></td>
</tr>
<tr>
<td height="29">&nbsp;</td>
<td><label>
</label>
<label><span class="Estilo12">Dirigido a*</span> </label></td>
<td colspan="2"><label>
<div align="right">
<select name="destinatario">
<option>Informacion</option>
<option>Presupuestos</option>
</select>
</div>
</label></td>
</tr>
<tr>
<td><span class="Estilo13">(*) Campos Obligatorios </span></td>
<td>&nbsp;</td>
<td width="127"><label>
<input type="reset" name="Submit" value="Borrar Formulario" />
</label></td>
<td width="69"><label>
<input name="Submit2" type="submit" onclick="MM_validateForm('nombre','','R','telefono ','','RisNum','correo','','RisEmail','asunto','',' R','textarea','','R');return document.MM_returnValue" value="Enviar" />
</label></td>
</tr>
</table>
</form>
</div>



PHP: contacto.php

<?php





$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$mail = $_POST['mail'];
$asunto = $_POST['asunto'];
//Con esto le asignas a $correo el correo1 si viene informacion, en caso contrario todos se iran al correo2
$correo = strtoupper($_POST['destinatario'])==strtoupper("informacion")?"******@hotmail.com": "****@hotmail.com";




$header = 'Teléfono: ' . $telefono . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje ha sido enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = $correo ;
$asunto = 'Asunto';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Mensaje enviado correctamente';

?>


Al mismo tiempo, cuando me enviaba el mensaje, solo me aparecia lo de..""Este mensaje ha sido enviado por " . $nombre . ", de la empresa " . $empresa . " y Su e-mail es:(aqui no pone nada) y
mensaje:( tampoco pone nada).

1 saludo y gracias
  #4 (permalink)  
Antiguo 31/03/2010, 10:49
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problema con formulario de contacto html-php

Prueba haciendo dos cosas mas:
1.- escribe error_reporting(E_ALL); despues de <?php en contacto.php
2.- Fuerza el valor en los options asi:
Código HTML:
<option value="informacion">Informacion</option>
<option value="presupuestos">Presupuestos</option> 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 31/03/2010, 11:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema con formulario de contacto html-php

Sigue sin funcionar;
Cuál es la función de:error_reporting(E_ALL) ??

teoricamente es muy sencillo, parece como si se quedase alguna variable sin definir, o en mail tuviera que escribirse de otra forma..

Etiquetas: contacto, 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 02:08.