Foros del Web » Programando para Internet » PHP »

session, cambiar user y pass ya no funciona...

Estas en el tema de session, cambiar user y pass ya no funciona... en el foro de PHP en Foros del Web. Hola tengo este script desde hace años y la última vez que la probé me funcionó. Es para una intranet que usa sessiones y una ...
  #1 (permalink)  
Antiguo 22/02/2012, 13:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
session, cambiar user y pass ya no funciona...

Hola tengo este script desde hace años y la última vez que la probé me funcionó.
Es para una intranet que usa sessiones y una vez que ha hecho el login puede cambiar nombre de usuario y contraseña.
Hemos cambiado de host el 1/3 y hoy me ha dicho uno que no puede cambiar usuario y contraseña, es que no se ejecuta, he mirado, remirado y no veo nada que esta mal.
A ver si alguien ve algo, porfa, usa la misma conexion que las demas paginas asi que no es la conexion a la base y en el update tampoco se menciona en nombre de usuario del host antiguo asi que tiene que ser otra cosa, ni idea
Código:
<?php 
session_start(); 
?> 
<?php 
include("conex/conexion.php");
$oldUser=$_SESSION['usuario']; 
  $newUser=@mysql_real_escape_string($_REQUEST['usuario']); 
  $newPass=@mysql_real_escape_string($_POST['pass']);
$id_propiedad =$_REQUEST['id_propiedad'];
?>
$propiedad = $_REQUEST[propiedad];
?>
</div>
<?php 
 $pass = $_POST['pass'];
if ($_REQUEST['enviar1']) {
if ($newUser != $oldUser) {
 $changeuser = mysql_query("SELECT usuario FROM usuarios WHERE usuarios.usuario = '$newUser'", $dbh);
if(mysql_num_rows($changeuser) > 0)
echo "¡  That username is not available!";
}
else {
  $sql = mysql_query("UPDATE usuarios SET usuario='$newUser', pass='$newPass' WHERE usuario='$oldUser'"); 
 $result = mysql_query("SELECT usuario, pass, id_propiedad FROM usuarios WHERE usuarios.usuario = '$newUser'", $dbh);
?>
<div align="center">
<?php
 $_SESSION['usuario']=$newUser; 
echo "Your account has been updated <br>\n";
echo "<a href=\"propiedades_tremestres_owners_english.php\">go back to start page</a> <br>\n";
while ($row = mysql_fetch_array($result)){
$row['id_propiedad'] = str_replace("_", " ", $row['id_propiedad']); 
?>
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<p><?php print($row["id_propiedad"]); ?></p>
<p>Username: <input type="text" name="newUser" value="<?php print($row["usuario"]); ?>" /></p>
<p>Password: <input type="text" name="newPass" value="<?php print($row["pass"]); ?>" /></p>
</form> 
</div>
<?php
 }
 }
 }
else {
$result = mysql_query("SELECT usuario, pass, id_propiedad FROM usuarios WHERE usuarios.usuario = '$oldUser'", $dbh);

while ($row = mysql_fetch_array($result)){
$row['id_propiedad'] = str_replace("_", " ", $row['id_propiedad']); 
?>
<div align="center">
<h2>Your account</h2>
<p>From here you can change your username and password</p>
<p>Change the details and clic on send</p>
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<p><?php print($row["id_propiedad"]); ?></p>
<p>Username: <input type="text" name="usuario" value="<?php print($row["usuario"]); ?>" /></p>
<p>Password: <input type="text" name="pass" value="<?php print($row["pass"]); ?>" /></p>
<p>
<input type="Submit" name="enviar1" value="Send"> </p>
</form
  #2 (permalink)  
Antiguo 22/02/2012, 14:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: session, cambiar user y pass ya no funciona...

pues tendrás que verificar que versión tenias antes y que versión de php tiene ahora el hosting.

por otro lado veo que usas $_REQUEST, opción ya depreciada, deberias usar $_GET o $_POST según el caso
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/02/2012, 14:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: session, cambiar user y pass ya no funciona...

Si hago un echo de oldUser y newUser, en el echo se escribe primero el antiguo nombre y al dar a cambiar escribe correctamento con el nuevo nombre, pero el update y la parte de php no se ejectuta.....
  #4 (permalink)  
Antiguo 22/02/2012, 14:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: session, cambiar user y pass ya no funciona...

Cita:
Iniciado por maycolalvarez Ver Mensaje
pues tendrás que verificar que versión tenias antes y que versión de php tiene ahora el hosting.

por otro lado veo que usas $_REQUEST, opción ya depreciada, deberias usar $_GET o $_POST según el caso
La de antes no la puedo ver ya que me han dado de baja, pero vamos no era mucha diferencia, el actual usa 5.2.17

lo de request no creo que sea ya que lo uso en otros sitios, y si no me acuerdo hace falta porque es tanto post como get.

Gracias
  #5 (permalink)  
Antiguo 22/02/2012, 16:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: session, cambiar user y pass ya no funciona...

He isolado el problema:
quitando este trozo donde se comprueba que el usuario no existe funciona y actualiza:
if ($newUser != $oldUser) {
$changeuser = mysql_query("SELECT usuario FROM usuarios WHERE usuarios.usuario = '$newUser'", $dbh);
if(mysql_num_rows($changeuser) > 0)
echo "¡ That username is not available!";
}
else {

Alguna idea que esta mal?
  #6 (permalink)  
Antiguo 22/02/2012, 16:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: session, cambiar user y pass ya no funciona...

puf que trabajoito me ha costado
no deberia de cerrar lo anterior if ($newUser != $oldUser) {
sino cerrarlo despues del if.....
bueno ya va

Etiquetas: contraseñaa, nombre, sesiones
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 04:31.