Foros del Web » Programando para Internet » PHP »

Web en php (formulario)

Estas en el tema de Web en php (formulario) en el foro de PHP en Foros del Web. Hola buenas! estoy teniendo unos problemillas con una web que estoy diseñando. La web en sí es esta: http://salbatorehotela.com/index2.html El tema es que tengo que ...
  #1 (permalink)  
Antiguo 04/11/2011, 03:20
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Web en php (formulario)

Hola buenas! estoy teniendo unos problemillas con una web que estoy diseñando.

La web en sí es esta: http://salbatorehotela.com/index2.html

El tema es que tengo que poner la web en php (aquí es donde me pierdo) para que funcione el formulario, pero al hacerlo no funciona la página, alguien sabe de esto?

Agradecería mucho una ayudita

Sorry, edito el link, que no estaba correco :) y pregunto: Porque si quiero que el formulario funcione tengo que pasar la pag a php, verdad? o hay alguna otra manera?

Última edición por elacunza; 04/11/2011 a las 04:11
  #2 (permalink)  
Antiguo 04/11/2011, 05:18
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: Web en php (formulario)

Toda pagina que contenga cualquier cosa de php llevara la extension .php, si el formulario esta en una pagina sin php puede llevar la extension .html
__________________
Mas vale un codigo que mil palabras
  #3 (permalink)  
Antiguo 04/11/2011, 05:27
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Gracias dmm84! estoy muy verde en esto.

Entiendo que si hay algo en php tiene que llevar dicha extensión, y de hecho el formulario tiene que ser en php para que tire.
Hasta ahora no he tenido problemas con esto pero ahora al cambiar la extensión para que el formulario tire, no se visualiza la página!
  #4 (permalink)  
Antiguo 04/11/2011, 06:42
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: Web en php (formulario)

si la quieres visualizar en tu propio ordenador necesitas tener instalado php, puedes descargarte Appserv que trae php y mysql y es de facil instalacion
__________________
Mas vale un codigo que mil palabras

Última edición por dmm84; 05/11/2011 a las 09:02
  #5 (permalink)  
Antiguo 08/11/2011, 02:24
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Gracias de nuevo dmm84!

Siento ser pesada pero no, no es eso lo que quiero decir, me refiero una vez subida la web, no vista desde mi ordenador.

O sea yo hasta ahora para que un formulario funcionara, simplemente cambiaba la extensión de la página en la cual se encontraba este a php, y el formulario funcionaba. En este caso, la página directamente da error.

Alguna idea?
  #6 (permalink)  
Antiguo 08/11/2011, 02:33
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Respuesta: Web en php (formulario)

Cita:
Iniciado por elacunza Ver Mensaje
...En este caso, la página directamente da error.

Alguna idea?
Sin saber el mensaje de error o ver el código resulta un poco complicado evaluar que puede ocurrir.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #7 (permalink)  
Antiguo 08/11/2011, 04:42
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

A ver, parece ser que ahora si se visualiza:
http://salbatorehotela.com/index2.php
Pero al darle a "enviar" en el formulario (bidali), el email en cuestión no se envía.
Os pongo el Código del formulario a ver si alguien ve algo sospechoso.
Y muchas gracias por todo chicos! os debo una cocacola

----------------


<form name="contactform" method="post" action="index2.php">
<table width="450px">
</tr>
<tr>
<td valign="top">
<label for="first_name"><h8>IZENA</h8></label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="57" style="background-color:#e8e9e1; margin-top:-4px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>
</tr>

<tr>
<td valign="top">
<label for="last_name"><h8>ABIZENA</h8></label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="57" style="background-color:#e8e9e1; margin-top:-5px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>
</tr>
<tr>
<td valign="top">
<label for="email"><h8>EPOSTA</h8></label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="57" style="background-color:#e8e9e1; margin-top:-4px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>

</tr>

<tr>
<td valign="top">
<label for="comments"><h8>MEZUA</h8></label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="55" rows="13" style="background-color:#e8e9e1; margin-top:-5px; border:none; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;"></textarea>
</td>

</tr>
<tr>
<td colspan="2" style="padding-left:80px;">
<input type="submit" value="BIDALI" style="background-color:#979d6f; border:0px; color:#e8e9e1; font-family:DIN Alternate medium; font-size:12px; cursor:pointer; padding:3px; margin-left:-7px;">
</td>
</tr>
</table>
</form>



<!--<?php
if(isset($_POST['email'])) {

// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = "Your email subject line";


function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, Mezua ez da ondo bidali.');
}

$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required

$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

<!-- include your own success html here -->

<!--Mezua ondo bidali egin da.-->

<?php
}
?>

-----------
  #8 (permalink)  
Antiguo 08/11/2011, 05:11
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Respuesta: Web en php (formulario)

Así a pronto lo que veo es que falta el imput "telephone", así que no pasa el primer segundo if.

Editado.
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #9 (permalink)  
Antiguo 09/11/2011, 05:51
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Un millón de gracias Uncontroled_Duck! he añadido el input de telephone pero aun así no tira.
Claro, es lo que tiene andar buscando códigos, que luego una no tiene ni idea de php y no sabe como solucionar los errores ¬¬

Si veis algo más porfa, avisad!
  #10 (permalink)  
Antiguo 09/11/2011, 06:00
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: Web en php (formulario)

Quítale la @ a mail:

Código PHP:
Ver original
  1. @mail($email_to, $email_subject, $email_message, $headers);

¿Y muestra algún error al ejecutar el script o simplemente no envia nada? Lo digo por que GMail es muy estricto y necesitas que tu ip (desde donde mandas los mails) tenga dns reversa para que GMail lo acepte. Prueba con otra cuenta de mail la de un hosting por ejemplo a ver si llega.

Y no olvides traducir todo a euskera o llegarán los mails en ingles:

Código PHP:
Ver original
  1. $email_message. = "First Name: ".clean_string($first_name)."\n";
  2.  $email_message .= "Last Name: ".clean_string($last_name)."\n";
  3.  $email_message .= "Email: ".clean_string($email_from)."\n";
  4.  $email_message .= "Telephone: ".clean_string($telephone)."\n";
  5.  $email_message .= "Comments: ".clean_string($comments)."\n";

Última edición por Arkaitz; 09/11/2011 a las 06:41
  #11 (permalink)  
Antiguo 10/11/2011, 04:36
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Gracias Arkaitz, mi inmensa sabiduría me comunica que debes de ser de mi tierra jaja

A ver, he quitado la @ y no hay tu tía, no da ningún error, simplemente no envia nada, probaré como dices a otro email a ver si tira.

Muchas gracias!
Besos!
  #12 (permalink)  
Antiguo 10/11/2011, 04:38
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Nada, tampoco! malditasea
  #13 (permalink)  
Antiguo 14/11/2011, 02:11
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

joer no tengo ni idea de cómo solucionar esto
  #14 (permalink)  
Antiguo 14/11/2011, 03:31
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: Web en php (formulario)

Escribe en un archivo .php vacio:

Código PHP:
Ver original 

Y comprueba que no esté la funcion mail en disabled_functions.

¿Desde dónde usas el script? ¿Un hosting?
  #15 (permalink)  
Antiguo 14/11/2011, 03:40
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Sip, está en un hosting o sea que está subido si te refieres a eso:
http://salbatorehotela.com/index2.php
Quieres decir crear un archivo php con dreamweaver y subirlo al hosting?
  #16 (permalink)  
Antiguo 14/11/2011, 03:44
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: Web en php (formulario)

Sí, así es. Aunque estando en cdmon dudo que esté desactivado. ¿Es un hosting compartido o un dedicado?
  #17 (permalink)  
Antiguo 14/11/2011, 03:49
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Si, no creo que sea el problema porque otra de las webs alojadas aquí (es un multihost, por cierto) tira perfectamente con su formulario (uno distinto al que estoy intentando implementar a esta web).
Mira, pongo el código php con las modificaciones que he hecho hasta ahora:

<form name="contactform" method="post" action="index2.php">
<table width="450px">
</tr>
<tr>
<td valign="top">
<label for="first_name"><h8>IZENA</h8></label>
</td>
<td valign="top">
<input type="text" name="first_name" maxlength="50" size="57" style="background-color:#e8e9e1; margin-top:-4px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>
</tr>

<tr>
<td valign="top">
<label for="telephone"><h8>TELEFONOA</h8></label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="50" size="57" style="background-color:#e8e9e1; margin-top:-4px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>
</tr>

<tr>
<td valign="top">
<label for="last_name"><h8>ABIZENA</h8></label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="57" style="background-color:#e8e9e1; margin-top:-5px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>
</tr>
<tr>
<td valign="top">
<label for="email"><h8>EPOSTA</h8></label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="57" style="background-color:#e8e9e1; margin-top:-4px; border:none; height:20px; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;">
</td>

</tr>

<tr>
<td valign="top">
<label for="comments"><h8>MEZUA</h8></label>
</td>
<td valign="top">
<textarea name="comments" maxlength="1000" cols="55" rows="13" style="background-color:#e8e9e1; margin-top:-5px; border:none; padding-left:7px; font-family:DIN Alternate light;
font-size:14px; color: #747373;"></textarea>
</td>

</tr>
<tr>
<td colspan="2" style="padding-left:80px;">
<input type="submit" value="BIDALI" style="background-color:#979d6f; border:0px; color:#e8e9e1; font-family:DIN Alternate medium; font-size:12px; cursor:pointer; padding:3px; margin-left:-7px;">
</td>
</tr>
</table>
</form>



<?php
if(isset($_POST['email'])) {

// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = "Your email subject line";


function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, Mezua ez da ondo bidali.');
}

$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required

$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers);
?>

<!-- include your own success html here -->

Mezua ondo bidali egin da

<?php
}
?>
  #18 (permalink)  
Antiguo 14/11/2011, 04:02
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: Web en php (formulario)

¿Cuándo das a enviar muestra algún error? ¿o te dice mesua ondo bidali egin da?
  #19 (permalink)  
Antiguo 14/11/2011, 04:04
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 8 meses
Puntos: 89
Respuesta: Web en php (formulario)

Sí. El script funciona debe ser tu host que está filtrando el uso de mail.
  #20 (permalink)  
Antiguo 14/11/2011, 04:05
Avatar de elacunza  
Fecha de Ingreso: mayo-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 0
Respuesta: Web en php (formulario)

Ostras vaya lío o sea que ya tira perfectamente, muchas gracias!
Unas fantas? jajajajaj

Etiquetas: formulario, html
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 00:50.