elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / Desarrollo Web / validar formulario desde servidor en PHP / Textarea en: 29 Diciembre 2018, 19:03 pm
Buenas tardes amigos y felices fiestas.
Antes que nada quiero agradecerles por la pagina es muy buena y brinda mucha información.
No encontré mi problema en los foros por eso escribo mi pregunta aquí a ver si hayo respuesta.

Necesito validar el textarea de mi formulario, que rechace escritura de url y palabras mal sonantes como sex, porn, etc..

Por favor si me pueden dar una mano estaré muy agradecido.

Envío los codigos de formulario del php

Código del formulario
form.html

Código
  1.    <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>
  2.    <body>
  3.        <form accept-charset="UTF-8" action="https://excursiones-moscu-espanol.com/validation-send.php" method="post" target="_blank" autocomplete="off">
  4.    <div style="width: 300px;margin: auto;border:1px solid #ddd;padding: 40px;">
  5. <label for="fname"><b>¿Para qué día desea el tour?</b></label><br>
  6. <input type="date" name="fecha" required><br>
  7. <br>
  8. <label for="fname"><b>Su nombre</b></label><br>
  9. <input type="text" id="fname" name="nombre" placeholder="Su nombre.." required><br><br>
  10. <label for="lname"><b>Su Email</b></label><br>
  11. <input type="email" id="email" name="email" placeholder="Su email.." pattern="[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{1,5}" required><br><br>
  12. <label for="country"><b>¿Desde dónde nos escribes?</b></label><br>
  13. <select id="country" name="pais">
  14. <option value="Argentina">Argentina</option>
  15. <option value="Bolivia">Bolivia</option>
  16. <option value="Brasil">Brasil</option>
  17. <option value="Chile">Chile</option>
  18. <option value="Colombia">Colombia</option>
  19. <option value="Costa Rica">Costa Rica</option>
  20. <option value="Cuba">Cuba</option>
  21. <option value="Ecuador">Ecuador</option>
  22. <option value="El Salvador">El Salvador</option>
  23. <option value="España">España</option>
  24. <option value="Guatemala">Guatemala</option>
  25. <option value="Honduras">Honduras</option>
  26. <option value="México">México</option>
  27. <option value="Nicaragua">Nicaragua</option>
  28. <option value="Paraguay">Paraguay</option>
  29. <option value="Panamá">Panamá</option>
  30. <option value="Perú">Perú</option>
  31. <option value="Puerto Rico">Puerto Rico</option>
  32. <option value="República Dominicana">República Dominicana</option>
  33. <option value="Uruguay">Uruguay</option>
  34. <option value="Venezuela">Venezuela</option>
  35. <option value="Estados Unidos">Estados Unidos</option>
  36. <option value="Otro">Otro..</option>
  37. </select><br><br>
  38. <label for="country"><b>¿Cuantas personas serán?</b></label><br>
  39. <select id="country" name="personas">
  40. <option value="2">2</option>
  41. <option value="3">3</option>
  42. <option value="4">4</option>
  43. <option value="5">5</option>
  44. <option value="6">6</option>
  45. <option value="7">7</option>
  46. <option value="8">8</option>
  47. <option value="9">9</option>
  48. <option value="10">10</option>
  49. <option value="11">11</option>
  50. <option value="12">12</option>
  51. <option value="13">13</option>
  52. <option value="14">14</option>
  53. <option value="15">15</option>
  54. <option value="16">16</option>
  55. <option value="17">17</option>
  56. <option value="18">18</option>
  57. <option value="19">19</option>
  58. <option value="20">20</option>
  59. <option value="21">21</option>
  60. <option value="Mas22">Más de 22</option>
  61. </select><br><br>
  62. <label for="subject"><b>Su consulta</b></label><br>
  63. <textarea id="subject" name="mensaje" placeholder="Escribe tu mensaje.." style="height:200px" required></textarea><br><br>
  64. <input type="submit" value="Enviar consulta">
  65. </div>
  66. </form>
  67. </body>
  68. </html>

Codigo del PHP
validation-send.php

Código
  1. <?php
  2. function get_ip_address() {
  3. if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  4. $ip = $_SERVER['HTTP_CLIENT_IP'];
  5. } else {
  6.    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  7.    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  8. } else {
  9.    $ip = $_SERVER['REMOTE_ADDR'];
  10. }}
  11. return $ip;
  12. }
  13. function check_input($data)
  14. {
  15.    $data = trim($data);
  16.    $data = stripslashes($data);
  17.    $data = htmlspecialchars($data);
  18.    return $data;
  19. }
  20. if ($_POST['nospam'] != ""){
  21. // Es un SPAMbot
  22. exit("Imposible enviar la solicitud, cierre la ventana.");
  23. } else {
  24. // Es un usuario real, proceder a enviar el formulario.
  25. }
  26.  
  27. $destino = "......";
  28. $fecha = check_input($_POST['fecha']);
  29. $nombre = check_input($_POST['nombre']);
  30. $email = check_input($_POST['email']);
  31. $pais = check_input($_POST['pais']);
  32. $personas = check_input($_POST['personas']);
  33. $mensaje = check_input($_POST['mensaje']);
  34. $ip   = ' '.get_ip_address();
  35. $cont = "Enviado desde:\n https://guiamoscow.es.tl/Excursiones-Moscu-verano-2011.htm";
  36. $headers .= "Content-Type: text/html; charset = UTF-8 \n";
  37. $contenido = "CONSULTA: Moscú 1 día
  38. IP:" . $ip . "\n
  39.  
  40. Su nombre:\n " . $nombre . "\n
  41. Su email:\n " . $email . "\n
  42. Para qué fecha:\n " . $fecha . "\n
  43. Desde donde nos escribes:\n " . $pais . "\n
  44. Cuantas personas son?:\n " . $personas . "\n
  45. Mensaje del turista:\n " . $mensaje;
  46.  
  47. mail($destino,"Consulta", $contenido, $cont);
  48. header("Location:https://guiamoscow.es.tl/muchas-gracias.htm");
  49. ?>
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines