- Desde
- 5 May 2014
- Mensajes
- 7
Buenas, tengo este código que ya puse en otro post de varias tablas enlazadas.
Resulta que hay 3 tablas
tabla "tblprovincias" con los campos "id" y "provincias"
tabla "tblcentro" con los campos "intCentro", "strNombre", "strLocalidad", "refProvincia"
tabla "tblusuarios" con los campos"initId", "intCentro", strLocalidadCentro"
Pongo solo los campos necesarios hay más pero no son relevantes.
Mi problema es que hago un formulario, el cual se ingresa bien, pero también manda un correo y en el correo me manda todo pero he de añadir en el mismo el valor de la localidad de la tabla tblprovincias y el valor de la localidad de tblcentro.
Para guardar el valor de strNombre (el nombre del centro) uso lo siguiente...
Y para enviar el dato del nombre del centro por mail, uso lo siguiente...
Mi duda, es como incluir esos dos valores de más, relacionados con ese centro, provincia y localidad.
Os dejo el código entero.
Gracias.
La localidad la he resuelto con esto...
Me faltaría extraer el dato correcto de la tabla provincia, :S
---------- Post agregado el 08-may-2014 hora: 18:40 ----------
Solucionado...
Resulta que hay 3 tablas
tabla "tblprovincias" con los campos "id" y "provincias"
tabla "tblcentro" con los campos "intCentro", "strNombre", "strLocalidad", "refProvincia"
tabla "tblusuarios" con los campos"initId", "intCentro", strLocalidadCentro"
Pongo solo los campos necesarios hay más pero no son relevantes.
Mi problema es que hago un formulario, el cual se ingresa bien, pero también manda un correo y en el correo me manda todo pero he de añadir en el mismo el valor de la localidad de la tabla tblprovincias y el valor de la localidad de tblcentro.
Para guardar el valor de strNombre (el nombre del centro) uso lo siguiente...
PHP:
$query_DatosCentros2 = "SELECT strNombre FROM tblcentro 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);
Y para enviar el dato del nombre del centro por mail, uso lo siguiente...
PHP:
$mensaje .= "- Centro: ".$row_DatosCentros2['strNombre'] ."<br />";
Mi duda, es como incluir esos dos valores de más, relacionados con ese centro, provincia y localidad.
Os dejo el código entero.
Gracias.
PHP:
<?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']);
}
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'], "int"),
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 FROM tblcentro 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 = 'xxx@xxx.es';
$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 .= "- Centro: ".$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));
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['emailacceso'])) {
$loginUsername=$_POST['emailacceso'];
$password=$_POST['passwordacceso'];
$MM_fldUserAuthorization = "intNivelAcceso";
$MM_redirectLoginSuccess = "archivos-listado.php"; /*"profesores-registrados.php";*/
$MM_redirectLoginFailed = "profesores-acceso-nok.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_conexion, $conexion);
$LoginRS__query=sprintf("SELECT intId, strNombre, strEmail, strPassword, intNivelAcceso FROM tblusuarios WHERE strEmail=%s AND strPassword=md5(%s) && intActivo=1",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $conexion) or die(mysql_error());
$row_LoginRS = mysql_fetch_assoc($LoginRS);
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'intNivelAcceso');
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;/* EMail*/
$_SESSION['MM_UserGroup'] = $loginStrGroup;/* Nivel aacceso */
$_SESSION['MM_Nombre'] = $row_LoginRS['strNombre'];/*Nombre Usuario */
$_SESSION['MM_Id'] = $row_LoginRS['intId'];/*Id Usuario */
/*echo $_SESSION['MM_Username'];
echo $_SESSION['MM_UserGroup'];
echo $_SESSION['MM_Nombre'];*/
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<!DOCTYPE html>
<html lang="es"><!-- InstanceBegin template="/Templates/Principal.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>XXX</title>
<meta name="description" content="">
<meta name="robots" content="index, follow">
<!-- InstanceEndEditable -->
<meta charset="utf-8">
<?php include("includes/precabecera.php"); ?>
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
</head>
<body>
<!-- InstanceBeginEditable name="EditRegion3" -->
<?php $menuseleccionado = 6;?>
<section class="bg1">
<!--==============================header=================================-->
<header id="header">
<div class="container_12">
<?php include("includes/cabecera.php"); ?>
<?php //include("includes/slider.php"); ?>
<?php include("includes/menu.php"); ?>
</div>
</header>
<!--===================content====================-->
<div id="content">
<div class="container_12">
<div class="row">
<div class="grid_4">
<!---->
<!---->
<!-- ACCESO-->
<!---->
<?php if( !isset($_SESSION['MM_Id']) ){ ?>
<h3 class="mrg22 pad3">Acceso</h3>
<p class="p4">Si ya es un usuario registrado y dispone de contraseña,
acceda al sitio con email y contraseña</p>
<?php /*?><p class="p4">SuperAdmin: admin@admin.com pass:12345</p>
<p class="p4">Normal User: pakito@gmail.com pass:111</p><?php */?>
<form action="<?php echo $loginFormAction; ?>" method="POST" name="formularioacceso" id="formacceso">
<label class="email">
<input class="forminput" name="emailacceso" type="text" id="emailacceso" placeholder="E-mail *:" size="40" onclick="javascript: borraremailacceso();"/>
</label>
<div id="erroremailacceso" class="ocultar texto-error">Debe ser un email válido</div>
<br><br>
<label class="password">
<input class="forminput" name="passwordacceso" type="password" id="passwordacceso" placeholder="Contraseña *:" size="40" onclick="javascript: borrarpasswordacceso();"/>
</label>
<div id="errorpasswordacceso" class="ocultar texto-error">Campo Obligatorio</div>
<br><br>
<input class="iconomano" id="botonacceso" name="botonacceso" type="submit" value="Acceder" onclick="javascript: return validaracceso();">
</form>
<?php }?>
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<?php if( isset($_SESSION['MM_Id']) ){ ?>
<h3 class="mrg22 pad3">Bienvenido, <?php echo $_SESSION['MM_Nombre']; ?></h3>
<img src="http://forobeta.com/images/iconos/download.png" width="20" height="20"> <a href="archivos-listado.php" class="a14">Lista de Archivos</a>
<br><br><br>
<a id="botonsalir" href="profesores-salir.php">Salir</a>
<?php }?>
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<!---->
<h3 class="mrg22 pad3">Contacto<br><br>
<img src="http://forobeta.com/images/profesores-registrados.jpg" width="267" height="267"></h3>
<div class="map">
<div>
<p class="p4">XXX</p>
</div>
<address class="mb0">
<span class="p4">Horario:<br>
De 10 a 14 y de 16 a 18 horas.
</span>
</address>
<address class="mb0">
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</address>
</div>
</div>
<div class="grid_8">
<h3 class="mrg22 pad3">Formulario</h3>
<p class="p4">Los centros y profesores que realizan un seguimiento de nuestros libros en el aula pueden darse de alta en nuestra web y recibir algunos servicios adicionales:<br>
<br>
• Envío del solucionario de actividades y programación didáctica al correo electrónico.<br>
• Envío de los powers-points de las UD de FOL y de EIE. <br>
• Envío de las actualizaciones de legislación laboral y empresarial que se vaya produciendo a lo largo del curso (para profesorado de FOL).
<br>
• Información sobre nuevos libros de texto de tu especialidad que se publiquen en la editorial.<br>
<br>
Para registrarte debes rellenar el siguiente formulario e indicar en qué centro eres docente. Realizaremos una llamada de comprobación al centro, para asegurarnos de enviar el material al profesorado que sigue nuestros libros de texto, y te daremos de alta.</p>
<form method="POST" action="<?php echo $editFormAction; ?>" name="formulario" >
<div class="success_wrapper">
<div id="mensajeregistroenviado" class="mensajeenviado ocultar">Formulario enviado correctamente, en breve nos pondremos en contacto con usted.</div>
</div>
<input class="seleccion" id="nombreregistro" name="strNombre" type="text" placeholder="Nombre*:" onClick="javascript: borrarnombre();"/>
<div id="errorregistronombre" class="ocultar texto-error">* Campo obligatorio</div>
<br><br><input class="seleccion" id="apellidosregistro" name="strApellidos" type="text" placeholder="Apellidos*:" onClick="javascript: borrarapellidos();" />
<div id="errorregistroapellidos" class="ocultar texto-error">* Campo obligatorio</div>
<br><br><input class="seleccion" id="especialidadregistro" name="strEspecialidad" type="text" placeholder="Especialidad*:" onClick="javascript: borrarespecialidad();" />
<div id="errorregistroespecialidad" class="ocultar texto-error">* Campo obligatorio</div>
<br><br>
<select name="intCentro" id="intCentro" class="seleccion">
<?php
do {
?>
<option value="<?php echo $row_DatosCentros['intCentro']?>"><?php echo $row_DatosCentros['provincia']." - ". $row_DatosCentros['strLocalidad']." - ".$row_DatosCentros['strNombre']?></option>
<?php
} while ($row_DatosCentros = mysql_fetch_assoc($DatosCentros));
$rows = mysql_num_rows($DatosCentros);
if($rows > 0) {
mysql_data_seek($DatosCentros, 0);
$row_DatosCentros = mysql_fetch_assoc($DatosCentros);
}
?>
</select>
<div id="errorregistrocentro" class="ocultar texto-error">* Campo obligatorio</div>
<br><br><input class="seleccion" id="emailregistro" name="strEmail" type="text" placeholder="E-mail*:"/>
<div id="errorregistroemail" class="ocultar texto-error">* Debe ser un Email válido</div>
<div id="errorregistroemailduplicado" class="ocultar texto-error">* Esta dirección de correo ya está siendo usada por un usuario</div>
<br><br> <input class="seleccion" id="telefonoregistro" name="intTelefono" type="text" placeholder="Teléfono*:" onClick="javascript: borrartelefono();" />
<div id="errorregistrotelefono" class="ocultar texto-error">* Debe ser un Teléfono válido</div>
<br><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>
<div class="clear"></div>
<div class="btns">
<input id="botonalta" class="botton" type="submit" value="Aceptar" onClick="javascript: return validar();"><br>
<br>
<br>
</div>
<input type="hidden" name="MM_insert" value="formulario">
</form>
</div>
</div>
</div>
</div>
<!--===================footer=====================-->
<?php include("includes/footer.php"); ?>
</section>
<!-- InstanceEndEditable -->
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($DatosCentros);
?>
<script type="text/javascript">
function validar(){
validado = true;
valor = document.getElementById("nombreregistro").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorregistronombre').show(1000);
validado = false;
} else {
$('#errorregistronombre').hide(1000);
}
valor = document.getElementById("apellidosregistro").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorregistroapellidos').show(1000);
validado = false;
} else {
$('#errorregistroapellidos').hide(1000);
}
valor = document.getElementById("especialidadregistro").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorregistroespecialidad').show(1000);
validado = false;
} else {
$('#errorregistroespecialidad').hide(1000);
}
/* valor = document.getElementById("centroregistro").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorregistrocentro').show(1000);
validado = false;
} else {
$('#errorregistrocentro').hide(1000);
}
valor = document.getElementById("localidadcentroregistro").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorregistrolocalidadcentro').show(1000);
$('#errorregistroemailduplicado').hide(1000);
validado = false;
} else {
$('#errorregistrolocalidadcentro').hide(1000);
} */
valor = document.getElementById("emailregistro").value;
if( !(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(valor)) ) {
$('#errorregistroemail').show(1000);
validado = false;
} else {
$('#errorregistroemail').hide(1000);
<!---->
<!---->
<!---->
<!---->
valor = document.getElementById("emailregistro").value;
$.ajax({
async: false,
type: "POST",
url:"includes/funciones-ajax.php",
data: 'stremailusuario='+valor+'&formid=1',
success: function(resp)
{
// El email de usuario no existe
if (resp==1){
$('#errorregistroemailduplicado').hide(1000);
}
// El email de usuario ya está en uso
if (resp==0){
$('#errorregistroemail').hide(1000);
$('#errorregistroemailduplicado').show(1000);
validado = false;
}
}
});
<!---->
<!---->
<!---->
}
valor = document.getElementById("telefonoregistro").value;
if( !(/^\d{9}$/.test(valor)) ) {
$('#errorregistrotelefono').show(1000);
validado = false;
} else {
$('#errorregistrotelefono').hide(1000);
}
valor = document.getElementById("mensajeregistro").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorregistromensaje').show(1000);
validado = false;
} else {
$('#errorregistromensaje').hide(1000);
}
if (validado==false){return false;}
}
</script>
<script type="text/javascript">
function limpiarformulario(){
$('#errorregistronombre').hide(0);
document.formulario.nombreregistro.value="";
/* $('#nombreregistro').attr('placeholder','Nombre*:');*/
$('#errorregistroapellidos').hide(0);
document.formulario.apellidosregistro.value="";
/* $('#apellidosregistro').attr('placeholder','Apellidos*:');*/
$('#errorregistroespecialidad').hide(0);
document.formulario.especialidadregistro.value="";
/* $('#especialidadregistro').attr('placeholder','Especialidad*:');*/
$('#errorregistrocentro').hide(0);
document.formulario.centroregistro.value="";
/* $('#centroregistro').attr('placeholder','Centro*:');*/
/* $('#errorregistrolocalidadcentro').hide(0);
document.formulario.localidadcentroregistro.value="";
/* $('#localidadcentroregistro').attr('placeholder','Localidad del Centro*:');*/*/
$('#errorregistroemail').hide(0);
$('#errorregistroemailduplicado').hide(0);
document.formulario.emailregistro.value="";
/* $('#emailregistro').attr('placeholder','E-mail*:');*/
$('#errorregistrotelefono').hide(0);
document.formulario.telefonoregistro.value="";
/* $('#telefonoregistro').attr('placeholder','Teléfono:'); */
$('#errorregistromensaje').hide(0);
document.formulario.mensajeregistro.value="";
/* $('#mensajeregistro').attr('placeholder','Mensaje:'); */
}
</script>
<script type="text/javascript">
function borrarnombre(){
$('#errorregistronombre').hide(1000);
}
function borrarapellidos(){
$('#errorregistroapellidos').hide(1000);
}
function borrarespecialidad(){
$('#errorregistroespecialidad').hide(1000);
}
/*function borrarcentro(){
$('#errorregistrocentro').hide(1000);
}
function borrarlocalidadcentro(){
$('#errorregistrolocalidadcentro').hide(1000);
}*/
function borrartelefono(){
$('#errorregistrotelefono').hide(1000);
}
function borrarmensaje(){
$('#errorregistromensaje').hide(1000);
}
</script>
<script type="text/javascript">
/****************************************/
/* Validacion Acceso */
/*****************************************/
function validaracceso(){
validado = true;
valor = document.getElementById("passwordacceso").value;
if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
$('#errorpasswordacceso').show(1000);
validado = false;
}
valor = document.getElementById("emailacceso").value;
if( !(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(valor)) ) {
$('#erroremailacceso').show(1000);
validado = false;
}
if (validado == false) { return false;}
}
function borrarpasswordacceso(){
$('#errorpasswordacceso').hide(1000);
}
function borraremailacceso(){
$('#erroremailacceso').hide(1000);
}
</script>
La localidad la he resuelto con esto...
PHP:
$query_DatosCentros2 = "SELECT strNombre, strLocalidad FROM tblcentro 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);
PHP:
$mensaje .= "- Centro: ".$row_DatosCentros2['strLocalidad'] ."<br />";
Me faltaría extraer el dato correcto de la tabla provincia, :S
---------- Post agregado el 08-may-2014 hora: 18:40 ----------
Solucionado...
PHP:
$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);
$mensaje .= "- Centro: ".$row_DatosCentros2['provincia'] ."<br />";
$mensaje .= "- Centro: ".$row_DatosCentros2['strLocalidad'] ."<br />";
Última edición: