Foros del Web » Programando para Internet » PHP »

Extraer datos de la BD dentro de una sesion

Estas en el tema de Extraer datos de la BD dentro de una sesion en el foro de PHP en Foros del Web. Tengo el siguiente problema: estando en una sesion quiero extraer datos de mi BD y enviarlas a mi mail y hacer echo de los datos ...
  #1 (permalink)  
Antiguo 08/06/2005, 17:10
 
Fecha de Ingreso: agosto-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
Extraer datos de la BD dentro de una sesion

Tengo el siguiente problema: estando en una sesion quiero extraer datos de mi BD y enviarlas a mi mail y hacer echo de los datos que figuran en la base. Detallo el sistema de validacion que ya he publicado en el foro:

Tengo al usuario registrado con los datos solicitados.
Ahora quiero validarlo y que entre a otro formulario form_respuesta.php en el cual deba brindar unas respuestas y tildar opciones.
Con esos datos, más lo de su registracion, quiero que los envía a mi email.

script validacion.php

<form action="controlando.php" method="POST">
<table align="center" width="284" cellspacing="2" cellpadding="2" border="0">
<tr>
<td align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><font size="3">Datos incorrectos</font></span>
<?}else{?>
bgcolor=#cccccc><font size="3">Introduzca sus datos de acceso</font>
<?}?>
</td>
</tr>
<tr>
<td width="276"><div align="center">Nombre de Usuario:<font size="3" face="Tahoma"><br>
</font>
<input type="Text" name="usuario" size="28" maxlength="50">
</div></td>
</tr>
<tr>
<td><div align="center">Password:<br>
<input type="password" name="contrasena" size="28" maxlength="50">
</div></td>
</tr>
<tr>
<td align="center"><input name="Submit" type="Submit" value="Entrar"></td>
</tr>
</table>
</form>


script controlando.php

<?
//conecto con la base de datos
$conn = mysql_connect("localhost","root","");
//selecciono la BBDD
mysql_select_db("mibase",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM stone WHERE nick='$usuario' and password='$contrasena'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: form_respuesta.php");

}else {
//si no existe le mando otra vez a la portada
header("Location: validacion.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>

script seguridad.php

<?
//Inicio la sesión
session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: validacion.php");
//ademas salgo de este script
exit();
}
?>

Este es el formulario para enviar la respuesta form_respuesta.php

<?
include ("seguridad.php");
?>
<form action="respuesta.php" method=post>
<div align="left">
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="206" colspan="2" valign="top"><p align="center"> <br>
RESPUESTA 1(*):<br>
<input type=text name="respuesta1" size=40>
<br>
RESPUESTA 2(*):<br>
<input type=text name="respuesta2" size=40>
<br>
Comentarios:<br>
<textarea name=coment cols=30 rows=6></textarea>
<br>
(*) Datos Obligatorios </p></td>
</tr>
<tr>
<td height="13" colspan="2" valign="top"><div align="center">
<div align="center"></div>
<div align="center">Seleccione el rubro de su inter&eacute;s</div>
</div></td>
</tr>
<tr>
<td width="244" height="38" valign="top"><p>
<label>
<input name="opcion1" type="checkbox" value="Opcion 1">
</label>
Opcion 1<br>
<label>
<input name="opcion2" type="checkbox" value="Opcion 1">
</label>
Opcion 2
<label></label>
<br>
</p></td>
<td width="256" valign="top"><label>
<input name="opcion3" type="checkbox" value="Opcion 3">
</label>
Opcion 3<br> <label>
<input name="opcion4" type="checkbox" value="Opcion 4">
</label>
Opcion 4
<label></label></td>
</tr>
</table>
<div align="center"><br>
<input name="submit" type=submit value="Enviar">
<input name="submit2" type=reset value="Borrar">
</div>
</div>
</form>


Y el fichero respuesta.php donde me envía el mail con las respuestas y los datos del usuario

<?
include ("seguridad.php");
?>
<?
//Pido los datos obligatorios
if(trim($HTTP_POST_VARS["opcion1"]) != "" && trim($HTTP_POST_VARS["opcion2"]) != "" )
{
if (!$HTTP_POST_VARS){
}else{
//Estoy recibiendo el formulario, compongo el cuerpo y esta es la parte
//que además me debe tomar datos de la BD
$cuerpo .= "Formulario enviado desde MI PORTAL\n"."\n";
$cuerpo .= "Empresa: " . $HTTP_POST_VARS["empresa"] . "\n";
$cuerpo .= "Contacto: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Dirección: " . $HTTP_POST_VARS["address"] . "\n";
$cuerpo .= "Ciudad: " . $HTTP_POST_VARS["city"] . "\n";
$cuerpo .= "País: " . $HTTP_POST_VARS["pais"] . "\n";
$cuerpo .= "Código Postal: " . $HTTP_POST_VARS["postal"] . "\n";
$cuerpo .= "Telefono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Fax: " . $HTTP_POST_VARS["fax"] . "\n";
$cuerpo .= "Horario de Contacto: " . $HTTP_POST_VARS["horario"] . "\n";
$cuerpo .= "Respuesta1: " . $HTTP_POST_VARS["respuesta1"] . "\n";
$cuerpo .= "Respuesta2: " . $HTTP_POST_VARS["respuesta2"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n";
$cuerpo .= "Respuestas:" . "\n";
$cuerpo .= "" . $HTTP_POST_VARS["opcion1"] ;
$cuerpo .= " -" . $HTTP_POST_VARS["opcion2"] ;
$cuerpo .= " -" . $HTTP_POST_VARS["opcion3"] ;
$cuerpo .= " -" . $HTTP_POST_VARS["opcion4"] ;

$email_webmaster = "[email protected]";
//mando el correo...
mail("[email protected]","Cuerpo del mensaje",$cuerpo,"FROM: $email_webmaster");

//doy las gracias por el envío
echo "El formulario se ha enviado correctamente";
}
}else{
echo "Por favor escriba LAS RESPUESTAS";
}
?>

El tema que solo me llega las Respuestas y las Opciones y no los datos de registros de la DB.

Muchas gracias
  #2 (permalink)  
Antiguo 08/06/2005, 17:12
 
Fecha de Ingreso: agosto-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
Para la registracion utilizo lo siguiente:
Scripts para registrarse
form_registro.php

<FORM ACTION="registrando.php" METHOD="post">
<div align="center">
<table width="221" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" height="234"><div align="left">Nombre
de Usuario (*):<br>
<input type=text name="nick" size=40>
Password (*):<br>
<input type=password name="password" size=40>
Empresa (*):<br>
<input type=text name="empresa" size=40>
Contacto (*):<br>
<input type=text name="nombre" size=40>
Email (*):<br>
<input type=text name="email" size=40>
Direcci&oacute;n:<br>
<input type=text name="address" size=40>
</div></td>
<td width="200"><div align="center">Ciudad:<br>
<input type=text name="city" size=40>
Pa&iacute;s:<br>
<input type=text name="pais" size=40>
C&oacute;digo Postal:<br>
<input type=text name="postal" size=20>
<br>
Tel&eacute;fono:<br>
<input type=text name="telefono" size=40>
Fax:<br>
<input type=text name="fax" size=40>
Horario de Contacto:<br>
<input type=text name="horario" size=20>
<br>
</div></td>
</tr>
</table>
<div align="left"><br>
<br>
(*) Datos Obligatorios <BR>
<br>
<INPUT name="submit" TYPE="submit" CLASS="boton" VALUE="Registrarse">
<font color="#FFFFFF"> ... </font> </div>
</div>
</FORM>

</tr>
</table>
<div align="center"></div>
</html>

script registrando.php

<?
$email = $_POST['email'];
?>
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","root","");
mysql_select_db("mibase",$conn);

function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}

if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
$sql = "SELECT id FROM stone WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "ERROR, el NOMBRE DE USUARIO ya fue escogido por otra persona";
}
else
{
// creamos el email
{
$mensaje = "Gracias por registrarse en MI PORTAL
Su nombre de usuario es: $nick
Su password es: $password
Su email en nuestro registro: $email ";
$email_webmaster = "[email protected]";
$asunto = "Sus datos de Usuario Registrado";

mail($email,$asunto,$mensaje,"FROM: $email_webmaster");
}

// exportamos los datos a la BD
$sql = "INSERT INTO stone (nick,password,empresa,nombre,email,address,city,p ais,postal,telefono,fax,horario) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["empresa"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["address"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["city"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["pais"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["postal"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["telefono"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["fax"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["horario"])."'";
$sql .= ")";
mysql_query($sql);
echo "Registro exitoso! Ud. ya pertenece a nuestra comunidad de Usuarios.\n<br><br>";
echo "Sus datos de Usuario Registrado son:<br><br>";
echo "Nombre de Usuario:\n$nick<br>" ;
echo "Password:\n$password<br>" ;
echo "Empresa:\n$empresa<br>" ;
echo "Contacto:\n$nombre<br>" ;
echo "Direccion:\n$address<br>" ;
echo "Ciudad:\n$city<br>" ;
echo "País:\n$pais<br>" ;
echo "Código postal:\n$postal<br>" ;
echo "Teléfono:\n$telefono<br>" ;
echo "Fax:\n$fax<br>" ;
echo "Horario de Contacto:\n$horario<br><br>" ;
//le decimos al usuario que fue enviado un mail con sus datos
//y revise su correo electronico
echo ("<table width='467'><tr><td>Sus datos de registro han sido enviado al siguiente correo:<br> $email <br>
Por favor dirigirse a <a href='validacion.php'><u>sector miembros para ingresar</u> </a>
</td><tr></table>");
}
mysql_free_result($result);
}
else
{
echo "ERROR. Por favor, debe completar los DATOS OBLIGATORIOS";
}
mysql_close();
?>
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 13:55.