Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No aparecen info

Estas en el tema de No aparecen info en el foro de PHP en Foros del Web. Buenas, no soy un especialista en php por ello me dirigo desde mi ignoracia para ver si podeis ayudarme: He descargado una plantilla con un ...
  #1 (permalink)  
Antiguo 17/11/2017, 12:30
Avatar de priamo  
Fecha de Ingreso: enero-2011
Ubicación: Valencia
Mensajes: 78
Antigüedad: 12 años
Puntos: 0
No aparecen info

Buenas, no soy un especialista en php por ello me dirigo desde mi ignoracia para ver si podeis ayudarme:
He descargado una plantilla con un formulario y le he añadido dos campos: checkbox para newsletters y politica para que el usuario diga si quiere recibir newsletters y si acepta la politica de reservas pero la información no me aparece cuando recibo el correo en mi email:
Sender IP: 79.147.12.241
Nombre: Ferran
Email: [email protected]
Telefono: 606526451
Numero de personas: 2
Reserva dia y hora: 22 November 2017 - 03:10 PM
Comentarios: RRRR
Newsletters:
Politica:

el archivo html contiene:
Código HTML:
Ver original
  1. <form id="reservationForm" name="reservationform" data-toggle="validator" class="reservation-form">
  2.                                 <span class="sub-text">* Campos obligatorios</span>
  3.                                 <div id="msgContactSubmit" class="hidden"></div>
  4.                                 <div class="form-group">
  5.                                     <div class="help-block with-errors"></div>
  6.                                     <input name="fname" id="fname" placeholder="Nombre completo*" class="form-control" type="text" required data-error="Por favor, introduzca su nombre completo">
  7.                                     <div class="input-group-icon"><i class="fa fa-user"></i></div>
  8.                                 </div><!-- end form-group -->
  9.                                 <div class="form-group">
  10.                                     <div class="help-block with-errors"></div>
  11.                                     <input name="email" id="email" placeholder="Email*" pattern=".*@\w{2,}\.\w{2,}" class="form-control" type="email" required data-error="Por favor, introduzca un email válido">
  12.                                     <div class="input-group-icon"><i class="fa fa-envelope"></i></div>
  13.                                 </div><!-- end form-group -->
  14.                                 <div class="form-group">
  15.                                     <div class="help-block with-errors"></div>
  16.                                     <input name="phone" id="phone" placeholder="Teléfono contacto*" class="form-control" type="text" required data-error="Por favor, introduzca un número de teléfono válido">
  17.                                     <div class="input-group-icon"><i class="fa fa-phone"></i></div>
  18.                                 </div><!-- end form-group -->
  19.                                 <div class="form-group">
  20.                                     <div class="help-block with-errors"></div>
  21.                                     <input name="personcount" id="personcount" placeholder="Numero de personas*"  maxlength="4" pattern="\d*" class="form-control" type="text" required data-error="Por favor, introduzca un número de comensales">
  22.                                     <div class="input-group-icon"><i class="fa fa-users"></i></div>
  23.                                 </div><!-- end form-group -->
  24.                                 <div class="form-group">
  25.                                     <div class="help-block with-errors"></div>
  26.                                     <div id="reservation-DateTime" class="input-append date">
  27.                                         <input name="reservationdatetime" id="reservationdatetime" placeholder="Dia y hora*" class="form-control" type="text" readonly required>
  28.                                         <span class="add-on"><i class="icon-remove"></i></span>
  29.                                         <span class="add-on"><i class="icon-th"></i></span>
  30.                                         <div class="input-group-icon"><i class="fa fa-calander"></i></div>
  31.                                     </div>          
  32.                                 </div><!-- end form-group -->
  33.                                 <p class="logo-footer-detail"> Si usted o algunos de sus invitados tienen alguna intolerancia o alergia alimentaria, es muy importante para nosotros saberlo con antelación. Por favor indiquelo a continuación.</p>
  34.                                 <div class="form-group">
  35.                                     <div class="help-block with-errors"></div>
  36.                                    
  37.                                     <textarea rows="3" name="message" id="message" placeholder="Comentarios*" class="form-control" required data-error="Por favor introduzca su comentario"></textarea>
  38.                                     <div class="input-group-icon"><i class="fa fa-pencil"></i></div>
  39.                                 </div><!-- end form-group -->
  40.                                 <div class="form-group">
  41.                                     <div class="help-block with-errors"></div>
  42.                                     <div id="humanCheckCaptchaBox"></div><div id="firstDigit"></div> + <div id="secondDigit"></div> = <input name="humanCheckCaptchaInput" id="humanCheckCaptchaInput" placeholder="" maxlength="3" class="form-control" type="text" required data-error="Please solve Human Check Captcha">
  43.                                 </div><!-- end form-group -->
  44.                                 <div class="form-group">
  45.                                     <div class="checkbox">
  46.                                         <label><input name="usercopy" id="usercopy" type="checkbox" value="1">Enviar una copia a mi email</label><br>
  47.                                     </div>
  48.                                     <div class="checkbox">
  49.                                         <label><input name="usercopy" id="usercopy2" type="checkbox" value="SI" checked="checked" />Deseo recibir newletters</label>
  50.                                     </div>
  51.                                     <div class="checkbox">
  52.                                         <label><input name="usercopy" id="usercopy3" type="checkbox" value="SI" checked="checked" />Acepto la politica de reservas</label>
  53.                                     </div>
  54.                                 </div><!-- end form-group -->
  55.                                 <div id="submitButtonHolder" class="form-group">
  56.                                     <button type="submit" id="submit" class="btn btn-custom">Enviar</button>
  57.                                 </div><!-- end form-group -->
  58.                             </form>

y el archivo php:
Código PHP:
Ver original
  1. <?php
  2.     $errormsg = "";
  3.    
  4.     if (empty($_POST["fname"])) {
  5.         $errormsg .= "Name required. ";
  6.     } else {
  7.         $fname = $_POST["fname"];
  8.     }
  9.    
  10.     if (empty($_POST["email"])) {
  11.         $errormsg .= "Email required. ";
  12.     } else {
  13.         $email = $_POST["email"];
  14.     }
  15.    
  16.     if (empty($_POST["phone"])) {
  17.         $errormsg .= "Phone required. ";
  18.     } else {
  19.         $phone = $_POST["phone"];
  20.     }
  21.        
  22.     if (empty($_POST["personcount"])) {
  23.         $errormsg .= "Number of Person required. ";
  24.     } else {
  25.         $personcount = $_POST["personcount"];
  26.     }
  27.    
  28.     if (empty($_POST["reservationdatetime"])) {
  29.         $errormsg .= "Reservation date & time required. ";
  30.     } else {
  31.         $reservationdatetime = $_POST["reservationdatetime"];
  32.     }
  33.    
  34.     if (empty($_POST["message"])) {
  35.         $errormsg .= "Message required. ";
  36.     } else {
  37.         $message = $_POST["message"];
  38.     }
  39.     @$usercopy = $_POST["usercopy"];
  40.    
  41.     $success = '';
  42.     if (!$errormsg){
  43.        
  44.         require_once "functions.php";
  45.        
  46.         //Sending Email from Local Web Server using PHPMailer
  47.         require_once "phpmailer/PHPMailerAutoload.php";
  48.         //PHPMailer Object
  49.         $mail = new PHPMailer;
  50.        
  51.         //From email address and name      
  52.         if($usercopy != 1){
  53.             $mail->From = $email;
  54.             $mail->FromName = $fname;
  55.         }
  56.         else{
  57.             //From address and name (Change here)
  58.             $mail->From = "[email protected]";
  59.             $mail->FromName = "Enfoque2";
  60.         }
  61.        
  62.         //Recipient address and name (Change here)
  63.         $mail->addAddress("[email protected]", "yoursite Contact person");
  64.         if($usercopy){
  65.             $mail->addAddress($email, $fname);
  66.         }
  67.            
  68.         //Address to which recipient will reply
  69.         $mail->addReplyTo($email, $fname);
  70.        
  71.         //Send HTML or Plain Text email
  72.         $mail->isHTML(true);
  73.        
  74.         //Subject (Change here)
  75.         $mail->Subject = "Solicitud de reserva";
  76.        
  77.         //prepare email body
  78.         $body_message = "";
  79.         $body_message .= "Sender IP: " . get_client_ip() ."<br>";
  80.         $body_message .= "Nombre: " . $fname ."<br>";
  81.         $body_message .= "Email: " . $email ."<br>";
  82.         $body_message .= "Telefono: " . $phone ."<br>";
  83.         $body_message .= "Numero de personas: " . $personcount ."<br>";
  84.         $body_message .= "Reserva dia y hora: " . $reservationdatetime ."<br>";
  85.         $body_message .= "Comentarios: ". $message ."<br>";
  86.         $body_message .= "Newsletters: " . $usercopy2 ."<br>";
  87.         $body_message .= "Politica: " . $usercopy3 ."<br>";
  88.        
  89.         $mail->Body = $body_message;   
  90.        
  91.         //send mail
  92.         if(!$mail->send())
  93.         {
  94.             echo "Mailer Error: " . $mail->ErrorInfo;
  95.         }
  96.         else
  97.         {
  98.             echo "success";
  99.         }
  100.        
  101.     }
  102.     else {
  103.         echo "Something went wrong: ".$errormsg;
  104.     }
  105.    
  106. ?>
Muchas gracias
  #2 (permalink)  
Antiguo 17/11/2017, 12:48
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No aparecen info

Eso sucede porque esas variables no han sido asignadas.
  #3 (permalink)  
Antiguo 17/11/2017, 13:00
Avatar de priamo  
Fecha de Ingreso: enero-2011
Ubicación: Valencia
Mensajes: 78
Antigüedad: 12 años
Puntos: 0
Respuesta: No aparecen info

Podrian asignarse? donde ?
saludos
  #4 (permalink)  
Antiguo 17/11/2017, 15:50
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 19 años, 2 meses
Puntos: 154
Respuesta: No aparecen info

Hola priamo,

Las variables toman el nombre del "name" del HTML, en tu caso el nombre es el mismo para los dos campos, lo que sí está bien es el "id" que lo has cambiado, pero en este caso no te sirve para lo que pretendes, debes asignar las variables mediante el name (y poner un name distinto en cada chekbox)

Código HTML:
Ver original
  1. <div class="checkbox">
  2.                                         <label><input name="usercopy2" id="usercopy2" type="checkbox" value="SI" checked="checked" />Deseo recibir newletters</label>
  3.                                     </div>
  4.                                     <div class="checkbox">
  5.                                         <label><input name="usercopy3" id="usercopy3" type="checkbox" value="SI" checked="checked" />Acepto la politica de reservas</label>
  6.                                     </div>

Código PHP:
Ver original
  1. if ( isset($_POST["usercopy2"]) && empty($_POST["usercopy2"]) ) {
  2.     $usercopy2 = $_POST["usercopy2"];
  3.     }
  4.     if ( isset($_POST["usercopy3"]) && empty($_POST["usercopy3"]) ) {
  5.     $usercopy3 = $_POST["usercopy3"];
  6.     }

Espero que te sirva, analízalo detenidamente y adáptalo a tu código...
  #5 (permalink)  
Antiguo 18/11/2017, 06:49
Avatar de priamo  
Fecha de Ingreso: enero-2011
Ubicación: Valencia
Mensajes: 78
Antigüedad: 12 años
Puntos: 0
Respuesta: No aparecen info

Ok y gracias, lo adaptaré aunque creo que siendo una plantilla el tema esté complicado porque suelen dar problemas si se les modica el codigo de origen.
un saludo

Etiquetas: formulario, html, info, nombre
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




La zona horaria es GMT -6. Ahora son las 05:11.