Autor Tema: PEDIR QUE RELLENEN MI FORMULARIO.  (Leído 1995 veces)

Desconectado xGerald

  • PHPer@
  • **
  • Mensajes: 74
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
PEDIR QUE RELLENEN MI FORMULARIO.
« en: 05 de Mayo de 2010, 22:50:50 pm »
Bueno porfavor si son tan amables de editarme el code o decirme que debo hacer para que pida que rellenen los campos porfavor.

Aca les dejo el codigo :

Código: [Seleccionar]
<?php
$nick 
$_POST[&#39;nick&#39;];
$paginaweb $_POST[&#39;web&#39;];
$banner $_POST[&#39;banner&#39;];
$email $_POST[&#39;email&#39;];
$categoria $_POST[&#39;radio&#39;];
$comentario $_POST[&#39;comentario&#39;];

$mensaje "Nick: "$_POST[&#39;nick&#39;] . "\n";
$mensaje .= "Pagina Web: "$_POST[&#39;web&#39;] . "\n";
$mensaje .= "Banner: "$_POST[&#39;banner&#39;] . "\n";
$mensaje .= "Email: "$_POST[&#39;email&#39;] . "\n";
$mensaje .= "Comentario: "$_POST[&#39;comentario&#39;] . "\n";
$mensaje .= "Categoria: "$_POST[&#39;radio&#39;] . "\n";

$cabecera "From: $nick <$email> \r\n";
$cabecera .= "Reply-To: $email";

if (
mail("elx.gerald@gmail.com""Formulario de Contacto"$mensaje$cabecera)){
echo "<center>El mensaje fue enviado correctamente</center></br>";
}

else{
echo "El Mensaje no fue enviado correctamente";
}

?>


<form method="post" action="formulario.php">
  <table width="440" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td width="179"><b><font face="Verdana" size="1" color="#FF0000">* </font><font face="Verdana" size="1" color="#7F7F7F">Nick :</font></b></td>
      <td width="261"><label>
        <input type="text" name="nick" id="nick" />
      </label></td>
    </tr>
    <tr>
      <td><b><font face="Verdana" size="1" color="#FF0000">* </font><font face="Verdana" size="1" color="#7F7F7F">Pagina web :</font></b></td>
      <td><label>
        <input type="text" name="web" id="web" />
      </label></td>
    </tr>
    <tr>
      <td><b><font face="Verdana" size="1" color="#FF0000">* </font><font face="Verdana" size="1" color="#7F7F7F">URL de tu Banner :</font></b></td>
      <td><label>
        <input type="text" name="banner" id="banner" />
      </label></td>
    </tr>
    <tr>
      <td><b><font face="Verdana" size="1" color="#FF0000">* </font><font face="Verdana" size="1" color="#7F7F7F">Tu pagina web es una :</font></b></td>
      <td><p><font face="Verdana"><b><font size="1" color="#7F7F7F">Web fan Habbo :
        <input type="radio" name="radio" id="radio4" value="web fan habbo" />
        <br />
        Retro :</font></b> </font>
        <label>
          <input type="radio" name="radio" id="radio" value="retro" /></label><br />
        <font color="#7F7F7F">
        <b><font face="Verdana" size="1">Holo :</font></b>
        </font>
        <input type="radio" name="radio" id="radio2" value="holo" />
        <br />
        <font face="Verdana"><b><font size="1" color="#7F7F7F">Multiservidora :</font></b>
</font>
        <input type="radio" name="radio" id="radio3" value="multiservidora" />
        <br />
        </p></td>
    </tr>
    <tr>
      <td><b><font face="Verdana" size="1" color="#FF0000">* </font><font face="Verdana" size="1" color="#7F7F7F">Tu Email :</font></b></td>
      <td><label>
        <input type="text" name="email" id="email" />
      </label></td>
    </tr>
    <tr>
      <td><b><font face="Verdana" size="1" color="#FF0000">*</font><font face="Verdana" size="1" color="#7F7F7F"> Hablanos un poco de tu web :</font></b></td>
      <td><label>
        <textarea name="comentario" cols="30" rows="5" id="comentario"></textarea>
      </label></td>
    </tr>
    <tr>
      <td><label>
        <input type="submit" name="enviar" id="enviar" value="Enviar"/></label></td>
      <td><label>
          <input type="reset" name="Restablecer" id="Restablecer" value="Restablecer"/></label></td>
    </tr>
    <tr>
      <td height="15"></td>     
    </tr>
    <tr>
      <td><font face="Verdana" size: "1" color="#FF0000">*</font>
<b><font face="Verdana">
<font color="#7F7F7F" size="1">= Rellena todos los campos</font><font size="1"></font></font></font></b></td>
    </tr>
  </table>
</form>

Comunidad PHPeros

PEDIR QUE RELLENEN MI FORMULARIO.
« en: 05 de Mayo de 2010, 22:50:50 pm »

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #1 en: 06 de Mayo de 2010, 01:24:56 am »
Haciendo un if() un poquito largo por cada opción, digo yo.

Código: [Seleccionar]
if(empty($nick) || empty($paginaweb) || empty($banner) || empty($email) || empty($categoria) || empty($comentario)){
echo "Debes rellenar todos los campos"; }
else {
**Aqui pones lo que quieres que ocurra al llenar todos los datos**}

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #2 en: 06 de Mayo de 2010, 01:41:21 am »
Haciendo un if() un poquito largo por cada opción, digo yo.

Código: [Seleccionar]
if(empty($nick) || empty($paginaweb) || empty($banner) || empty($email) || empty($categoria) || empty($comentario)){
echo "Debes rellenar todos los campos"; }
else {
**Aqui pones lo que quieres que ocurra al llenar todos los datos**}

Si.. Exactamente con un if() se puede...

Lo que no se es que si al dejar un campo vasio aparesca el mensaje ¿Eso quieres hacer?
para eso usa NULL

Código: [Seleccionar]
if($_POST['nick']==NULL) {
echo "Dejaste un campo vasio.";
}

Puedes agregar mas errores si asi lo deseas...
Por ejemplo:

Código: [Seleccionar]
if($_POST['nick']==NULL) {
echo "No escribiste tu nick.";
}else{
if($_POST['web']==NULL) {
echo "No escribiste tu web.";
}else{
if($_POST['banner']==NULL) {
echo "No escribiste tu banner.";
}else{
if($_POST['radio']==NULL) {
echo "No escribiste categioria.";
}else{
if($_POST['email']==NULL) {
echo "No escribiste tu email.";
}else{
if($_POST['comentario']==NULL) {
echo "No escribiste tucomentario.";
      }
     }
    }
   }
  }
 }

Haber si te sirve...
Saludos
Twitter: @JoakoM010



Desconectado xGerald

  • PHPer@
  • **
  • Mensajes: 74
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #3 en: 06 de Mayo de 2010, 01:51:23 am »
y eso lo pongo al ultimo o al principio o al medio :S

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #4 en: 06 de Mayo de 2010, 02:04:41 am »
y eso lo pongo al ultimo o al principio o al medio :S
Lo pones JUSTO después de que declares las variables.
Es decir, luego de esto:

Código: [Seleccionar]
<?php
$nick 
$_POST[&#39;nick&#39;];
$paginaweb $_POST[&#39;web&#39;];
$banner $_POST[&#39;banner&#39;];
$email $_POST[&#39;email&#39;];
$categoria $_POST[&#39;radio&#39;];
$comentario $_POST[&#39;comentario&#39;];



Joaquín, pero eso de NULL sería lo mismo que usar un empty() hasta donde tengo entendido. Es decir, que podrías hacer:

if(empty($nick)) { echo "Olvidaste colocar tu nick";}
if(empty($paginaweb)) { echo "Olvidaste colocar tu página web";}

Y así sucesivamente. Pienso yo que es más rápido, además de que no utilizo la superglobal porque se supone que usamos variables para evitar tener que escribir eso a cada rato (ya que es más largo).



y Gerald, si lo que quieres es como el método de Joaquín (que está muy bien elaborado porque te avisa por CADA campo vacío, puedes agregarlo en el código HTML, por ejemplo:

Código: [Seleccionar]
    <tr>
      <td width="179"><b><font face="Verdana" size="1" color="#FF0000">* </font><font face="Verdana" size="1" color="#7F7F7F">Nick :</font></b></td>
      <td width="261"><label>
        <input type="text" name="nick" id="nick" />
      </label><?php if(empty($nick)){ echo "* Debes colocar tu nick"; } ?></td>
    </tr>

Desconectado xGerald

  • PHPer@
  • **
  • Mensajes: 74
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #5 en: 06 de Mayo de 2010, 02:10:09 am »
hechen una miradita

http://www.habboschool.net/formulario.php

si se fijan sale el mensaje de debes rellenar antes de enviar el formulario :S

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #6 en: 06 de Mayo de 2010, 02:16:47 am »
hechen una miradita

http://www.habboschool.net/formulario.php

si se fijan sale el mensaje de debes rellenar antes de enviar el formulario :S
Mira, antes de todo el código PHP de establecer variables y demás ponle esto:

Código: [Seleccionar]
<?php if(isset($_POST[&#39;enviar&#39;])){
**aqui todo el código PHP que quieres que se &#39;procese&#39; por así decirlo **
}

Ese if() lo que hace es que todo lo que está dentro de las llaves { } se haga únicamente si se presiona el botón enviar por así decirlo. Tiene su forma más teórica de explicar pero no sé como hacerlo bien xD

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #7 en: 06 de Mayo de 2010, 02:28:23 am »
Mira, antes de todo el código PHP de establecer variables y demás ponle esto:

Código: [Seleccionar]
<?php if(isset($_POST[&#39;enviar&#39;])){
**aqui todo el código PHP que quieres que se &#39;procese&#39; por así decirlo **
}

Ese if() lo que hace es que todo lo que está dentro de las llaves { } se haga únicamente si se presiona el botón enviar por así decirlo. Tiene su forma más teórica de explicar pero no sé como hacerlo bien xD

la forma mas teórica seria que si el valor del input de enviar se encuentra definido como POST este ejecuta tal acción que se encuentre entre llaves.

Saludos


Gerald Si quieres agregarle mas errores... Arriba deje un simple ejemplo de como seria.

Saludos
Twitter: @JoakoM010



Desconectado xGerald

  • PHPer@
  • **
  • Mensajes: 74
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #8 en: 06 de Mayo de 2010, 02:35:07 am »
<?php if(isset($_POST['enviar'])){
**aqui todo el código PHP que quieres que se 'procese' por así decirlo **
}

O

<?php if(isset($_POST['enviar'])){
echo "aqui todo el código PHP que quieres que se 'procese' por así decirlo";
}


??????

Gracias a todos

PD : Yo sabia ke se ponia lo de enviar pero no sabia el code.
« Última modificación: 06 de Mayo de 2010, 02:37:13 am por xGerald »

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #9 en: 06 de Mayo de 2010, 02:58:13 am »
Es así:

Código: [Seleccionar]
<?php if(isset($_POST[&#39;enviar&#39;])){
**aqui todo el código PHP que quieres que se &#39;procese&#39; por así decirlo **
}

Se supone que lo que eso con asteriscos es para que pegues ahí tu código xD...

Sería algo como:

Código: [Seleccionar]
<?php
if(isset($_POST[&#39;enviar&#39;])){
$nick $_POST[&#39;nick&#39;];
$paginaweb $_POST[&#39;web&#39;];
$banner $_POST[&#39;banner&#39;];
$email $_POST[&#39;email&#39;];
$categoria $_POST[&#39;radio&#39;];
$comentario $_POST[&#39;comentario&#39;];

$mensaje "Nick: "$_POST[&#39;nick&#39;] . "\n";
$mensaje .= "Pagina Web: "$_POST[&#39;web&#39;] . "\n";
$mensaje .= "Banner: "$_POST[&#39;banner&#39;] . "\n";
$mensaje .= "Email: "$_POST[&#39;email&#39;] . "\n";
$mensaje .= "Comentario: "$_POST[&#39;comentario&#39;] . "\n";
$mensaje .= "Categoria: "$_POST[&#39;radio&#39;] . "\n";

$cabecera "From: $nick <$email> \r\n";
$cabecera .= "Reply-To: $email";

if (
mail("elx.gerald@gmail.com""Formulario de Contacto"$mensaje$cabecera)){
echo "<center>El mensaje fue enviado correctamente</center></br>";
}

else{
echo "El Mensaje no fue enviado correctamente";
}
}
?>

O sea, lo pones al inicio de tu código y no olvides cerrar la llave al final

Desconectado marco811

  • PHPero Avanzado
  • ****
  • Mensajes: 306
  • Karma: 16
  • Sexo: Masculino
  • ¡¡Hola mundo!!
    • Ver Perfil
    • Personalidad Web
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #10 en: 06 de Mayo de 2010, 08:45:44 am »
Teniendo en cuenta que $_POST es un array, se puede comprobar primero la cantidad de valores que tiene el array:

<?php
if(count($_POST)>=1)) {

}
?>

Despues con foreach, comprobamos si cada elemento del array esta vacio o no:

while (list($key) = each($_POST)) {
if(
$_POST[$key]==NULL$error .= "El campo ".$key." no debe de estar vacio. \n";
}

Despues comprobamos si la variable error esta definida o no:

if(isset($error)) {
echo 
$error;
} else {
if (
mail("[email]elx.gerald@gmail.com[/email]""Formulario de Contacto"$mensaje$cabecera)){
   echo 
"<center>El mensaje fue enviado correctamente</center></br>";
}

else{
   echo 
"El Mensaje no fue enviado correctamente";
}
}

El codigo final, seria:
Código: [Seleccionar]
<?php
if(count($_POST)>=1)) {
$nick $_POST[&#39;nick&#39;];
$paginaweb $_POST[&#39;web&#39;];
$banner $_POST[&#39;banner&#39;];
$email $_POST[&#39;email&#39;];
$categoria $_POST[&#39;radio&#39;];
$comentario $_POST[&#39;comentario&#39;];

$mensaje "Nick: "$_POST[&#39;nick&#39;] . "\n";
$mensaje .= "Pagina Web: "$_POST[&#39;web&#39;] . "\n";
$mensaje .= "Banner: "$_POST[&#39;banner&#39;] . "\n";
$mensaje .= "Email: "$_POST[&#39;email&#39;] . "\n";
$mensaje .= "Comentario: "$_POST[&#39;comentario&#39;] . "\n";
$mensaje .= "Categoria: "$_POST[&#39;radio&#39;] . "\n";

$cabecera "From: $nick <$email> \r\n";
$cabecera .= "Reply-To: $email";

while (list(
$key) = each($_POST)) {
  if(
$_POST[$key]==NULL$error .= "El campo ".$key." no debe de estar   vacio. \n";
  }

if(isset(
$error)) {
echo 
$error;
} else {
if (
mail("elx.gerald@gmail.com""Formulario de Contacto"$mensaje$cabecera)){
   echo 
"<center>El mensaje fue enviado correctamente</center></br>";
}

else{
   echo 
"El Mensaje no fue enviado correctamente";
}
}
}
?>

Para que el codigo funcione correctamente, quita el atributo name al boton que envia el formulario, ya que si el value de este esta vacio te va a dar error.
Un saludo.

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #11 en: 06 de Mayo de 2010, 12:41:28 pm »
while (list($key) = each($_POST)) {
¿No debería ser un == en vez del = ?
Gracias por enseñarme algo nuevo :D xD!

Desconectado marco811

  • PHPero Avanzado
  • ****
  • Mensajes: 306
  • Karma: 16
  • Sexo: Masculino
  • ¡¡Hola mundo!!
    • Ver Perfil
    • Personalidad Web
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #12 en: 06 de Mayo de 2010, 12:46:58 pm »
¿No debería ser un == en vez del = ?
Gracias por enseñarme algo nuevo :D xD!
Noo, en la pagina oficial no dice eso  :P http://es.php.net/while
De nada ;)
Un saludo!

Desconectado ferdi342

  • PHPero Experto
  • *****
  • Mensajes: 734
  • Karma: 8
  • Sexo: Masculino
  • Gúgol
    • Ver Perfil
    • Google - La solución a todo
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #13 en: 06 de Mayo de 2010, 14:26:22 pm »
yo lo que haría sería ponerle esto:

Código: [Seleccionar]
if($nick==NULL or $paginaweb==NULL or $banner==NULL or $email==NULL or $categoria==NULL or $comentario==NULL){
echo "¡Ups! Has dejado algun campo en blanco
} else {
y aquí pones lo que sería el formulario..(CODE PHP DE PROCESAR)


dime si tienes alguna duda..
A veces hay que dejar terminar cosas buenas para que empiecen mejores, How I Met Your Mother

Desconectado xGerald

  • PHPer@
  • **
  • Mensajes: 74
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:PEDIR QUE RELLENEN MI FORMULARIO.
« Respuesta #14 en: 07 de Mayo de 2010, 00:26:07 am »
Citar
Código: [Seleccionar]
<?php
if(count($_POST)>=1)) {
$nick $_POST[&#39;nick&#39;];
$paginaweb $_POST[&#39;web&#39;];
$banner $_POST[&#39;banner&#39;];
$email $_POST[&#39;email&#39;];
$categoria $_POST[&#39;radio&#39;];
$comentario $_POST[&#39;comentario&#39;];

$mensaje "Nick: "$_POST[&#39;nick&#39;] . "\n";
$mensaje .= "Pagina Web: "$_POST[&#39;web&#39;] . "\n";
$mensaje .= "Banner: "$_POST[&#39;banner&#39;] . "\n";
$mensaje .= "Email: "$_POST[&#39;email&#39;] . "\n";
$mensaje .= "Comentario: "$_POST[&#39;comentario&#39;] . "\n";
$mensaje .= "Categoria: "$_POST[&#39;radio&#39;] . "\n";

$cabecera "From: $nick <$email> \r\n";
$cabecera .= "Reply-To: $email";

while (list(
$key) = each($_POST)) {
  if(
$_POST[$key]==NULL$error .= "El campo ".$key." no debe de estar   vacio. \n";
  }

if(isset(
$error)) {
echo 
$error;
} else {
if (
mail("elx.gerald@gmail.com""Formulario de Contacto"$mensaje$cabecera)){
   echo 
"<center>El mensaje fue enviado correctamente</center></br>";
}

else{
   echo 
"El Mensaje no fue enviado correctamente";
}
}
}
?>


me tira error en la linea 2