22/08/2014, 19:45
|
| | Fecha de Ingreso: mayo-2014 Ubicación: Valencia
Mensajes: 63
Antigüedad: 10 años, 6 meses Puntos: 0 | |
Respuesta: Validacion recaptcha Ya lo he solucionado de la siguiente forma...
Código:
<?php require_once('Connections/conexion.php'); ?>
<?php require_once('includes/funciones.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_conexion, $conexion);
//$query_DatosCentros = "SELECT * FROM tblcentro ORDER BY tblcentro.refProvincia ASC, tblcentro.strLocalidad ASC , strNombre ASC";
$query_DatosCentros = "SELECT tblcentro.*,tblprovincias.provincia, tblprovincias.id FROM
tblcentro
Inner Join tblprovincias ON tblcentro.refProvincia = tblprovincias.id ORDER BY tblprovincias.provincia ASC, tblcentro.strLocalidad ASC, tblcentro.strNombre ASC";
$DatosCentros = mysql_query($query_DatosCentros, $conexion) or die(mysql_error());
$row_DatosCentros = mysql_fetch_assoc($DatosCentros);
$totalRows_DatosCentros = mysql_num_rows($DatosCentros);
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
require_once('recaptchalib.php');
// Get a key from http://recaptcha.net/api/getkey
$publickey = "XXX";
$privatekey = "XXX";
# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;
# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($resp->is_valid) {
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulario")) {
$insertSQL = sprintf("INSERT INTO tblusuarios (strNombre, strApellidos, strEspecialidad, intCentro, strEmail, intTelefono, strMensaje, intOrigen) VALUES (%s, %s, %s, %s, %s, %s, %s, 0)",
GetSQLValueString($_POST['strNombre'], "text"),
GetSQLValueString($_POST['strApellidos'], "text"),
GetSQLValueString($_POST['strEspecialidad'], "text"),
GetSQLValueString($_POST['intCentro'], "int"),
GetSQLValueString($_POST['strEmail'], "text"),
GetSQLValueString($_POST['intTelefono'], "text"),
GetSQLValueString($_POST['strMensaje'], "text"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
$insertGoTo = "profesores-registro-ok.php";
/*if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}*/
$query_DatosCentros2 = "SELECT strNombre, strLocalidad, tblprovincias.provincia, tblprovincias.id FROM tblcentro Inner Join tblprovincias ON tblcentro.refProvincia = tblprovincias.id WHERE intCentro = '" . $_POST['intCentro'] . "'";
$DatosCentros2 = mysql_query($query_DatosCentros2, $conexion) or die(mysql_error());
$row_DatosCentros2 = mysql_fetch_assoc($DatosCentros2);
$totalRows_DatosCentros2 = mysql_num_rows($DatosCentros2);
header(sprintf("Location: %s", $insertGoTo));
$asunto = 'Formulario de Contacto Enviado desde profesores registrados';
$destinatario = '[email protected]';
$mensaje = "Hola admin,<br />";
$mensaje .= "se ha enviado un formulario de contacto desde profesores resgistrados con lo siguientes datos:<br /><br />"; $mensaje .= "- Nombre: ".$_POST['strNombre']."<br />";
$mensaje .= "- Apellidos: ".$_POST['strApellidos']."<br />";
$mensaje .= "- Especialidad: ".$_POST['strEspecialidad']."<br />";
$mensaje .= "- Provincia: ".$row_DatosCentros2['provincia'] ."<br />";
$mensaje .= "- Localidad: ".$row_DatosCentros2['strLocalidad'] ."<br />";
$mensaje .= "- Centro: ".$row_DatosCentros2['strNombre'] ."<br />";
$mensaje .= "- Telefono: ".$_POST['intTelefono']."<br />";
$mensaje .= "- Email: ".$_POST['strEmail']."<br />";
$mensaje .= "- Mensaje: ".nl2br($_POST['strMensaje'])."<br /><br />";
EnviarCorreoHTML($destinatario,$asunto,utf8_decode($mensaje));
}
} else {
# set the error code so that we can display it
$error = $resp->error;
}
}
?>
Y en el formulario...
Código:
<br><br>Mensaje:<br><textarea class="seleccionarea" id="mensajeregistro" name="strMensaje" placeholder="Mensaje:" rows="5" onClick="javascript: borrarmensaje();"></textarea>
<div id="errorregistromensaje" class="ocultar texto-error">* Debe escribir un Mensaje</div>
<br><br>
<?php
echo recaptcha_get_html($publickey, $error); ?>
<div class="clear"></div>
<div class="btns">
|