PHP - filtro en textarea

 
Vista:

filtro en textarea

Publicado por miguel (1 intervención) el 29/12/2018 13:47:12
hola amigos.. soy nuevo y traigo un problema que no puedo resolver por mi mismo.
Por este motivo me dirijo a ustedes, a ver si pueden ayudarme.
Muchas gracias de ante mano

Tengo un formulario y quiero que cuando un usuario ingrese una url en el campo textarea no envie el mensaje
solo que no lo envie.. sin usar carteles ni alertas. quizas que redirija otra ves al formulario.
Tambien que no ingrese palabras obscenas como por ejemplo.. sex, porn, etc..

Estos son mis códigos para que me digan que modificar o agregar..

el formulario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<form accept-charset="UTF-8" action="https://excursiones-moscu-espanol.com/validation-send.php" method="post" target="_blank" autocomplete="off">
<label for="fname"><b>¿Para qué día desea el tour?</b></label><br>
<input type="date" name="fecha" required><br>
<br>
<label for="fname"><b>Su nombre</b></label>
<input type="text" id="fname" name="nombre" placeholder="Su nombre.." required>
<label for="lname"><b>Su Email</b></label>
<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>
<label for="country"><b>¿Desde dónde nos escribes?</b></label>
<select id="country" name="pais">
<option value="Argentina">Argentina</option>
<option value="Bolivia">Bolivia</option>
<option value="Brasil">Brasil</option>
<option value="Chile">Chile</option>
<option value="Colombia">Colombia</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cuba">Cuba</option>
<option value="Ecuador">Ecuador</option>
<option value="El Salvador">El Salvador</option>
<option value="España">España</option>
<option value="Guatemala">Guatemala</option>
<option value="Honduras">Honduras</option>
<option value="México">México</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Paraguay">Paraguay</option>
<option value="Panamá">Panamá</option>
<option value="Perú">Perú</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="República Dominicana">República Dominicana</option>
<option value="Uruguay">Uruguay</option>
<option value="Venezuela">Venezuela</option>
<option value="Estados Unidos">Estados Unidos</option>
<option value="Otro">Otro..</option>
</select>
<label for="country"><b>¿Cuantas personas serán?</b></label>
<select id="country" name="personas">
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="Mas22">Más de 22</option>
</select>
<label for="subject"><b>Su consulta</b></label>
<textarea id="subject" name="mensaje" placeholder="Escribe tu mensaje.." style="height:200px" required></textarea>
<label class="nospam" for="nospam">¡Si ves esto, pasa de él!</label>
<input class="nospam" name="nospam">
<input type="submit" value="Enviar consulta">
</form>

El codigo php validation-send.php
En mi servidor
Quisiera validarlo solo desde el servidor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
function get_ip_address() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip = $_SERVER['REMOTE_ADDR'];
}}
return $ip;
}
function check_input($data)
 {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
 }
 if ($_POST['nospam'] != ""){
 // Es un SPAMbot
 exit("Imposible enviar la solicitud, cierre la ventana.");
} else {
 // Es un usuario real, proceder a enviar el formulario.
}
 
 
 $destino = "info@guiamoscow.com";
 $fecha = check_input($_POST['fecha']);
 $nombre = check_input($_POST['nombre']);
 $email = check_input($_POST['email']);
 $pais = check_input($_POST['pais']);
 $personas = check_input($_POST['personas']);
 $mensaje = check_input($_POST['mensaje']);
 $ip   = ' '.get_ip_address();
 $cont = "Enviado desde:\n https://guiamoscow.es.tl/Excursiones-Moscu-verano-2011.htm";
 $headers .= "Content-Type: text/html; charset = UTF-8 \n";
 $contenido = "CONSULTA: Moscú 1 día
 IP:" . $ip . "\n

 Su nombre:\n " . $nombre . "\n
 Su email:\n " . $email . "\n
 Para qué fecha:\n " . $fecha . "\n
 Desde donde nos escribes:\n " . $pais . "\n
 Cuantas personas son?:\n " . $personas . "\n
 Mensaje del turista:\n " . $mensaje;
 
mail($destino,"Consulta", $contenido, $cont);
header("Location:https://guiamoscow.es.tl/muchas-gracias.htm");
 
 ?>

Muchas gracias de ante mano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder