Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/07/2005, 20:51
Avatar de deet
deet
 
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
primero que nada, te recomendaria poner la directiva register_globals=off, a partir de PHP 4.2.0 esta directiva por defecto esta en "off"
chequeate esto
http://www.php.net/manual/es/security.globals.php

segundo que no hace falta la funcion session_start() si vas a hacerlo con session_register()
http://www.php.net/manual/es/ref.session.php

tercero que no definiste ninguna variable de sesion que haga referencia al usuario, con lo cual no vas a saber en las paginas siguientes cual es el usuario logueado.

cuarto que en el archivo respuesta.php deberias tomar los datos restantes de la DB con la variable de sesion que hace referencia al usuario.

para mas claridad en el codigo yo uso las funciones session_start() con $_SESSION["mi_variable"], ademas asi puedo saber de donde provienen las variables.

aqui te dejo los archivos modificados


Código 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>
//-------------------------------------------
<? 
$usuario
=$_POST["usuario"];
$contrasena=$_POST["contrasena"];
//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["autentificado"]="SI"
//guardo el nombre de usuario para luego buscar en la DB los datos del mismo
$_SESSION["dat_usr"]=$_POST["usuario"];
header ("Location: form_respuesta.php");
exit();
}else { 
//si no existe le mando otra vez a la portada 
header("Location: validacion.php?errorusuario=si"); 
exit();

//mysql_free_result($rs); 
//mysql_close($conn); 
?>
//--------------------------------------------------
<?
//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?aut=$autentificado");
//ademas salgo de este script
exit();

?>
//-------------------------------------------------
<?
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> 
//----------------------------------------------
<?
session_start
();
include (
"seguridad.php");
?>
<?
//Pido los datos obligatorios
if(trim($_POST["opcion1"]) != "" && trim($_POST["opcion2"]) != "" )
{
//Estoy recibiendo el formulario, compongo el cuerpo y esta es la parte
//que además me debe tomar datos de la BD 

//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='{$_SESSION["dat_usr"]}'"

//Ejecuto la sentencia 
$rs mysql_query($ssql,$conn); 
$row=mysql_fetch_array($rs);
$cuerpo .= "Formulario enviado desde MI PORTAL\n"."\n"
$cuerpo .= "Empresa: " $row["empresa"] . "\n";
$cuerpo .= "Contacto: " $row["nombre"] . "\n";
$cuerpo .= "Email: " $row["email"] . "\n";
$cuerpo .= "Dirección: " $row["address"] . "\n";
$cuerpo .= "Ciudad: " $row["city"] . "\n";
$cuerpo .= "País: " $row["pais"] . "\n";
$cuerpo .= "Código Postal: " $row["postal"] . "\n";
$cuerpo .= "Telefono: " $row["telefono"] . "\n";
$cuerpo .= "Fax: " $row["fax"] . "\n";
$cuerpo .= "Horario de Contacto: " $row["horario"] . "\n";
$cuerpo .= "Respuesta1: " $_POST["respuesta1"] . "\n";
$cuerpo .= "Respuesta2: " $_POST["respuesta2"] . "\n";
$cuerpo .= "Comentarios: " $_POST["coment"] . "\n";
$cuerpo .= "Respuestas:" "\n";
$cuerpo .= "" $_POST["opcion1"] ;
$cuerpo .= " -" $_POST["opcion2"] ;
$cuerpo .= " -" $_POST["opcion3"] ;
$cuerpo .= " -" $_POST["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";
}
?>
no lo probe, pero asi deberia andar, espero que te sirva