Foros del Web » Programando para Internet » PHP »

ingresos de registro y variable de sesion

Estas en el tema de ingresos de registro y variable de sesion en el foro de PHP en Foros del Web. tengo el siguiente problema, en mis paginas muestro el nombre de usuario y el login con el cual inicio la sesion, esta ahi ningun problema ...
  #1 (permalink)  
Antiguo 18/08/2010, 13:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
ingresos de registro y variable de sesion

tengo el siguiente problema, en mis paginas muestro el nombre de usuario y el login con el cual inicio la sesion, esta ahi ningun problema los muestra en todas las paginas, el drama esta en la pagina donde hago los ingresos de usuario, ya que al enviar la informacion a la base de datos toma el valor de :

<? echo $_SESSION['login_usuario']; ?>

y no el del campo que ingreso el usuario:

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Login Usuario: </font></b></td><td> <input type="text" name="login_usuario" size="15" maxlength="15" onKeyUp="form.login_usuario.value=form.login_usuar io.value.toUpperCase()"></td></tr>

Cabe señalar lo que esto me provocando es que al crear un usuario se ingresar con el mismo login del que inicio la sesion.

Ejemplo:
crojas jorge 133131 55555
crojas miguel 545454 44545
crojas guillermo 797977 11111


Me podrian explicar como solucionarlo.
De antemano muchas gracias
  #2 (permalink)  
Antiguo 18/08/2010, 13:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: ingresos de registro y variable de sesion

¿y se puede adivinar el código donde dices que toma el valor equivocado?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/08/2010, 13:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ingresos de registro y variable de sesion

Este es el script de logueo y sesion

<?php
session_start();
//Conectando a base de datos
$con = mysql_connect("localhost", "root", "averigua")
or die("<h3>No se ha podido establecer conexión con el servidor.</h3>");
mysql_select_db("formularios") or die("<h3>La base de datos no se ha encontrado</h3>");
//generando la consulta sobre el usuario y su contrasena
$qr="SELECT login_usuario, password, nombre_usuario, apellidos_usuario ";
$qr .="FROM usuarios WHERE login_usuario='".$_POST['login_usuario'];
$qr .="'AND password='".$_POST['password']."'";
//ejecutando la consulta
$rs = mysql_query($qr);
$row = mysql_fetch_object($rs);
//verificando si hay un usuario con ese password mediante numrows
$nr = mysql_num_rows($rs);
if($nr == 1){
//usuario y contraseña válidos
//se define una sesion y se guarda el dato session_start();
$_SESSION["autenticado"] = "si";
$_SESSION["login_usuario"] = $_POST['login_usuario'];
$_SESSION["nombreusr"] = $row->nombre_usuario . " " . $row->apellidos_usuario;
header ("location: aplicacion.php");
}
else if($nr <= 0) {
//si no existe se va a logueo.php y pone el valor de error a SI
header("location: index.php?errorusuario=si");
}
?>
  #4 (permalink)  
Antiguo 18/08/2010, 14:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: ingresos de registro y variable de sesion

pues según el código hasta parece que inventas lo que dices...

¿en que parte dices que toma el valor incorrecto??

yo no veo el <? echo $_SESSION['login_usuario']; ?> que tanto dices... además, se lee que usas $_POST['login_usuario']... ¿de verdad tienes problemas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/08/2010, 14:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ingresos de registro y variable de sesion

con este script se toman los datos del usuario


<?
session_start(); //Inicio la sesión
if ($_SESSION["autenticado"] == "si") { //COMPRUEBA QUE EL USUARIO ESTA AUTENTICADO
}
else{
header("Location: index.php"); //si el usuario no está autenticado, redirigirlo a la página de inicio de sesión
exit(); //salimos de este script
}
?>

<?
session_start();
?>

<html>
<head>
<title>USUARIOS</title>
<script language="javascript" type="text/JavaScript" src="verif_n.js"> </script>
<script language="javascript" type="text/JavaScript" src="validaformusuario.js"> </script>
<font face="arial"> <script language="javascript" type="text/JavaScript" src="hora_fecha.js"> </script></font>

<script>
function validarEmail(valor){
if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
alert("La direccion de email " + valor+ " es valida.")
return (true)
} else {
alert("La direccion de email no es valida.");
return (false);
}
}
</script>

</head>
<body onload="actualizaReloj()" background="portadaclinica.jpg">

<table width="1060" border="1" align="center" bordercolor="#8CA691">
<tr>
<td width="48%"><i><b><font size="2" face="arial" color="#00FF00">Bienvenido: </font></b>
<b><font face="arial" color="#0000FF"> <? echo $_SESSION['nombreusr']; ?> </font></b></i></td>
<td rowspan="3" width="52%" align="right"><img src="logo_clinica.JPG"></td>
</tr>
<tr>
<td width="48%"><i><b><font size="2" face="arial" color="#00FF00">Has entrado con el nombre de usuario: </font></b>
<b><font face="arial" color="#0000FF"> <? echo $_SESSION['login_usuario']; ?> </font></b></i>
</td>
</tr>
<tr>
<td width="48%"><b><font size="2" face="arial" color="#00FF00">Para cerrar la sesi&oacute;n, pulsa:</font></b> <a href="salir.php">Salir</a></td>
</tr>
<tr>
</table>

<h1 align="center"><font face="arial" color="yellow">USUARIOS</font></h1>
<table align="center"><tr><td id="Fecha_Reloj"></td></tr></table>
<hr>
<table width="956" border="1" align="center">
<tr>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_categoria.php"><font size="2" face="arial"> Categor&iacute;a </font></a></th>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_cliente.php"><font size="2" face="arial">Clientes</font></a></th>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_pedido.php"><font size="2" face="arial">Pedidos</font></a></th>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_producto.php"><font size="2" face="arial">Productos</font></a></th>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_proveedor.php"><font size="2" face="arial">Proveedores</font></a></th>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_ubicacion.php"><font size="2" face="arial">Ubicaci&oacute;n</font></a></th>
<th width="130" bgcolor="#CCCCCC" scope="col"><a href="crea_usuarios.php"><font size="2" face="arial">Usuarios</font></a></th>
</tr>
</table>
<hr>
<form name="form" method="POST" action="usuario.php">
<table align="center" border="2" cellpadding="2" cellspacing="2">

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Id_Usuario: </font></b></td><td> <input type="text" name="id_usuario" size="10" maxlength="10" disabled="disabled"></td></tr>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Login Usuario: </font></b></td><td> <input type="text" name="login_usuario" size="15" maxlength="15" onKeyUp="form.login_usuario.value=form.login_usuar io.value.toUpperCase()"></td></tr>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Password: </font></b></td><td> <input type="password" name="password" size="15" maxlength="15" onKeyUp="form.password.value=form.password.value.t oUpperCase()"></td></tr>


<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Nombre Usuario: </font></b></td><td> <input type="text" name="nombre_usuario" size="30" maxlength="30" onKeyUp="form.nombre_usuario.value=form.nombre_usu ario.value.toUpperCase()"></td></tr>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Apellidos Usuario: </font></b></td><td> <input type="text" name="apellidos_usuario" size="30" maxlength="30" onKeyUp="form.apellidos_usuario.value=form.apellid os_usuario.value.toUpperCase()"></td></tr>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Tel&eacute;fono: </font></b></td><td> <input type="text" name="telefono" size="15" maxlength="15" onkeyup ="verif(this)"></td></tr>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">C&oacute;digo Ubicaci&oacute;n: </font></b></td><td> <input type="text" name="id_ubicacion" size="10" maxlength="10" onkeyup ="verif(this)"></td></tr>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Email: </font></b></td><td> <input type="text" name="email" size="50" maxlength="50" onKeyUp="form.email.value=form.email.value.toLower Case()" onblur="validarEmail(this.form.email.value)"></td></tr>

<?
$fecha=date("d-m-y");
?>

<tr><td align="right"><b><font size="2" face="arial" color="#0101DF">Fecha Creaci&oacute;n: </font></b></td><td><input name="fec_cr_usuario" id="fecha" disabled="disabled" value="<? echo $fecha ?>" ></td></tr>

</table>
<table align="center"><tr><td><input type="button" onClick="validar_enviar()" name="Crear" value="Crear"></td><td><input name=2"Restablecer" type="reset" value="Limpiar"></td></tr></table>
<HR>
</form>
<table align="center"><b><font color="FFEFD5"> Create by J.A.V.A. <br> @copyright 2010</font></b><br><br></table>
</body>

</html>
  #6 (permalink)  
Antiguo 18/08/2010, 14:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ingresos de registro y variable de sesion

con este script se envian a la base de datos.
Se agradece tu ayuda....

<?
session_start(); //Inicio la sesión
if ($_SESSION["autenticado"] == "si") { //COMPRUEBA QUE EL USUARIO ESTA AUTENTICADO
}
else{
header("Location: index.php"); //si el usuario no está autenticado, redirigirlo a la página de inicio de sesión
exit(); //salimos de este script
}
?>

<?
session_start();
?>

<html>
<head>
<title>REGISTROS DE USUARIOS </title>
<script language="javascript" type="text/JavaScript" src="verif_n.js"> </script>
<script language="javascript" type="text/JavaScript" src="validaformusuario.js"> </script>
<font face="arial"> <script language="javascript" type="text/JavaScript" src="hora_fecha.js"> </script></font>
</head>
<body onLoad="actualizaReloj()" background="portadaclinica.jpg">

<hr>
<h1 align="center"><font face="arial" color="yellow">REGISTROS TABLA USUARIOS</font></h1>
<hr>
<br>

<?
$server="localhost"; /* Nuestro server mysql */
$database="formularios"; /* Nuestra base de datos */
$dbpass="averigua"; /*Nuestro password mysql */
$dbuser="root"; /* Nuestro user mysql */
/* Primero comprobamos que no exista un Formulario con el mismo Código ya registrado */

$query="SELECT * FROM usuarios1 WHERE id_usuario='$id_usuario'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(mysql_num_rows($result)){
echo "<font size='2' face='arial' color='red'><center> El usuario ya existe en la Base de Datos</center> </font>";
echo " ";
} else {
mysql_free_result($result);

$query="INSERT INTO usuarios1 (id_usuario, login_usuario, password, nombre_usuario, apellidos_usuario, telefono, id_ubicacion, email, fec_cr_usuario) VALUES ('$id_usuario','$login_usuario','$password', '$nombre_usuario', '$apellidos_usuario', '$telefono', '$id_ubicacion', '$email', now())";

$result=mysql_db_query($database,$query,$link);
if(mysql_affected_rows($link)){
echo "<font size='2' face='arial' color='red'><center><b><i>Cliente ingresado correctamente</b></i></center></b></font>";
} else {
echo "<font size='2' face='arial' color='red'><center><b><i>Error al ingresar el Cliente</b></i></center></font>";
echo "<br>";
} /* Cierre del else */
} /* Cierre del else que corresponde a if(mysql_affected_rows.....) */
/* Cierre del else que corresponde a if(mysql_num_rows...) */
?>

<?
$link = mysql_connect("localhost","root","averigua");
mysql_select_db("formularios", $link);
$result = mysql_query("SELECT * FROM usuarios1 order by id_usuario", $link);
?>

<table align="center" cellspacing="1" cellpadding="1" border="1" >
<tr>
<td align="center"><b><font size="2" face="arial" color="#0101DF">ID USUARIO</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">LOGIN USUARIO</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">PASSWORD</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">NOMBRE USUARIO</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">APELLIDOS USUARIO</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">TELEFONO</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">ID UBICACION</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">EMAIL</font></b></td>
<td align="center"><b><font size="2" face="arial" color="#0101DF">FECHA CREACION USUARIO</font></b></td>
</tr>

<?
while ($row = mysql_fetch_row($result)){
?>

<tr>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[0] ?> </font></td>
<td align="left"><font size="2" face="arial" color="black"> <? echo $row[1] ?> </font></td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[2] ?> </font> </td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[3] ?> </font> </td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[4] ?> </font> </td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[5] ?> </font> </td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[6] ?> </font> </td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[7] ?> </font> </td>
<td align="center"><font size="2" face="arial" color="black"> <? echo $row[8] ?> </font> </td>


</tr>
<?
}
?>
</table>

<br><center><a href="crea_usuarios.php"> Volver </a></center>

</body>
</html>
  #7 (permalink)  
Antiguo 18/08/2010, 14:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: ingresos de registro y variable de sesion

a ver amigo... no se si al postear no notaste las etiquetas BBCode [highlight] que esta en el panel de escritura de los mismos....

¿para que?

bueno, leer y descifrar un código que no esta resaltado es complicado y muchos pasan de largo si no es así, y claro... no obtendrías la ayuda requerida

¿solución?

primero, edita los temas que ya tengas en este hilo y trata de usar el resaltado...

segundo, si en lugar de dejar que adivinemos donde esta el preciso problema -cosa que ya sabes- nos indicaras el fragmento de código donde ocurre dicha acción, ¿crees que sería mejor?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 18/08/2010, 14:15
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: ingresos de registro y variable de sesion

Hola una recomendación personal,
cuando postees un código el cual su extensión es algo considerable usa las herramientas de codigo

Código HTML:
HTML
o

Código PHP:
PHP 
ya que es un poco cansado leer el texto con el fondo
  #9 (permalink)  
Antiguo 18/08/2010, 14:26
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ingresos de registro y variable de sesion

Sorry amigo no sabia como utilizarlas...

Este es el script que envia la información ingresada a la base de datos, si te fijas en el insert, el segundo que se ingresa es el login_usuario.

Código PHP:
<?
$server
="localhost"/* Nuestro server mysql */
$database="formularios"/* Nuestra base de datos */
$dbpass="averigua"/*Nuestro password mysql */
$dbuser="root"/* Nuestro user mysql */
/* Primero comprobamos que no exista un Formulario con el mismo Código ya registrado */
 
$query="SELECT * FROM usuarios1 WHERE id_usuario='$id_usuario'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(
mysql_num_rows($result)){
echo 
"<font size='2' face='arial' color='red'><center> El usuario ya existe en la Base de Datos</center> </font>";
echo 
" ";
} else {
mysql_free_result($result);

$query="INSERT INTO usuarios1 (id_usuario, login_usuario, password,      nombre_usuario, apellidos_usuario, telefono, id_ubicacion, email, fec_cr_usuario) VALUES ('$id_usuario','$login_usuario','$password', '$nombre_usuario', '$apellidos_usuario', '$telefono', '$id_ubicacion', '$email', now())";
 
$result=mysql_db_query($database,$query,$link);
if(
mysql_affected_rows($link)){
echo 
"<font size='2' face='arial' color='red'><center><b><i>Cliente ingresado correctamente</b></i></center></b></font>";
} else {
echo 
"<font size='2' face='arial' color='red'><center><b><i>Error al ingresar el Cliente</b></i></center></font>";
echo 
"<br>";
/* Cierre del else */
/* Cierre del else que corresponde a if(mysql_affected_rows.....) */
  /* Cierre del else que corresponde a if(mysql_num_rows...) */
?>
Y es el mismo nombre que tiene la variable, en la pagina de comprobación de logueo.


Código PHP:
<?php
session_start
();
//Conectando a base de datos
$con mysql_connect("localhost""root""averigua")
or die(
"<h3>No se ha podido establecer conexión con el servidor.</h3>");
mysql_select_db("formularios") or die("<h3>La base de datos no se ha encontrado</h3>");
//generando la consulta sobre el usuario y su contrasena
$qr="SELECT login_usuario, password, nombre_usuario, apellidos_usuario ";
$qr .="FROM usuarios WHERE login_usuario='".$_POST['login_usuario'];
$qr .="'AND password='".$_POST['password']."'";
//ejecutando la consulta
$rs mysql_query($qr);
$row mysql_fetch_object($rs);
//verificando si hay un usuario con ese password mediante numrows
$nr mysql_num_rows($rs);
if(
$nr == 1){
//usuario y contraseña válidos
//se define una sesion y se guarda el dato session_start();
$_SESSION["autenticado"] = "si";
$_SESSION["login_usuario"] = $_POST['login_usuario'];
$_SESSION["nombreusr"] = $row->nombre_usuario " " $row->apellidos_usuario;
header ("location: aplicacion.php");
}
else if(
$nr <= 0) {
//si no existe se va a logueo.php y pone el valor de error a SI
header("location: index.php?errorusuario=si");
}
?>
  #10 (permalink)  
Antiguo 18/08/2010, 14:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: ingresos de registro y variable de sesion

ahora si se entiende... pero, usas $login_usuario sin haberla definido?

porque según el código del INSERT, usas bastantes variables... pero no las declaras antes!!

además... para que te tome el valor de la sesión seguro tienes activado register_globals cosa que deberías desactivar, etc, etc...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 18/08/2010, 14:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ingresos de registro y variable de sesion

Revise el php.ini y esta desactivado.

Código PHP.INI:
Ver original
  1. You should do your best to write your scripts so that they do not require
  2. ; register_globals to be on;  Using form variables as globals can easily lead
  3. ; to possible security problems, if the code is not very well thought of.
  4. register_globals = Off
  #12 (permalink)  
Antiguo 18/08/2010, 14:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: ingresos de registro y variable de sesion

prueba esto al inicio de tu código
Código PHP:
echo ini_get('register_globals')? 'ON''OFF'
además, con respecto lo demás que te decía... ¿que has pensando?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 18/08/2010, 15:03
 
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ingresos de registro y variable de sesion

Con respecto a lo de las variables, tenia entendido que
en php no se declaraban.
  #14 (permalink)  
Antiguo 18/08/2010, 15:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: ingresos de registro y variable de sesion

Cita:
Iniciado por jorginho76 Ver Mensaje
Con respecto a lo de las variables, tenia entendido que
en php no se declaraban.
pues deberías leer el manual... ya que es completamente necesario declararlas!!

osea...
Código PHP:
$sql "INSERT INTO tabla(col) VALUES($val)"
¿donde declaramos $val?

osea, amigo... usa tu sentido común, ¿porque usas una variable que ni siquiera declaras?

para el mundo real, no el de tu imaginación esto tiene sentido... pues, ¿como usar algo que ni siquiera existe?

ese es el error que estas cometiendo, así que te pido nos expliques, ¿que hace tu consulta con variables que no están declaradas?

y bueno, aunque revises tu php.ini me queda claro que tienes activadas register_globals pues de ninguna otra manera tomaría la variable de sesión con solo usar $login_usuario cosa que sabemos -por experiencia- así sucede...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: ingresos, registro, variables
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 10:30.