error php undefined property
#1
holaaa estube buscando en internet para hacer un sistema de registro y bueno no se mucho sobre esto pero me tira este error en la pagina:

Notice: Undefined property: stdClass::$usuario in C:\xampp\htdocs\TnwCSFFH\register.php on line 40

el codigo:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
</
head>

<
body>
<?
php 
session_start
();//crea una sesión para ser usada mediante una petición GET o POST, o pasado por una cookie y la sentencia include_once es la usaremos para incluir el archivo de conexión a la base de datos que creamos anteriormente.
include_once "conection.php"
?>

<form action="" method="post" class="registro"> 
<div><label>Usuario:</label> 
<input type="text" name="usuario"></div> 
<div><label>Clave:</label> 
<input type="password" name="password"></div> 
<div><label>Repetir Clave:</label> 
<input type="password" name="repassword"></div> 
<div> 
<input type="submit" name="enviar" value="Registrar"></div> 
</form> 
<?php
/*Creamos el formulario con el campo de Usuario que se llamara $_POST['usuario'] y 2 campos para la clave y uno mas para confirmar si escribió bien la clave, se llamaran $_POST['password'] y $_POST['repassword'] respectivamente, procedemos a escribir el codigo que procesara y validara lo que el usuario ingrese:*/
if(isset($_POST['enviar']))//para saber si el botón registrar fue presionado. 

    if(
$_POST['usuario'] == '' or $_POST['password'] == '' or $_POST['repassword'] == '')
    { 
        echo 
'Por favor llene todos los campos.';//Si los campos están vacíos muestra el siguiente mensaje, caso contrario sigue el siguiente codigo.
    

    else 
    { 
        
$sql 'SELECT * FROM cuentas'
        
$rec mysql_query($sql); 
        
$verificar_usuario 0;//Creamos la variable $verificar_usuario que empieza con el valor 0 y si la condición que verifica el usuario(abajo), entonces la variable toma el valor de 1 que quiere decir que ya existe ese nombre de usuario por lo tanto no se puede registrar
  
        
while($result mysql_fetch_object($rec)) 
        { 
            if(
$result->usuario == $_POST['usuario']) //Esta condición verifica si ya existe el usuario 
            

                
$verificar_usuario 1
            } 
        } 
  
        if(
$verificar_usuario == 0
        { 
            if(
$_POST['password'] == $_POST['repassword'])//Si los campos son iguales, continua el registro y caso contrario saldrá un mensaje de error.
            

                
$usuario $_POST['usuario']; 
                
$password $_POST['password']; 
                
$sql "INSERT INTO cuentas (Usuario,Password) VALUES ('$usuario','$password')";//Se insertan los datos a la base de datos y el usuario ya fue registrado con exito.
                
mysql_query($sql); 
  
                echo 
'Usted se ha registrado correctamente.'
            } 
            else 
            { 
                echo 
'Las claves no son iguales, intente nuevamente.'
            } 
        } 
        else 
        { 
            echo 
'Este usuario ya ha sido registrado anteriormente.'
        } 
    } 
}
?> 
</body>
</html> 
"en la vida no triunfa el mas capaz, tampoco el mas rápido, en la vida triunfa solo aquel, que cree poder hacerlo"
Responder
#2
Esto va en la primera línea, sino no anda.
Código PHP:
session_start(); 

Cambia
Código PHP:
mysql_fetch_object 
por
Código PHP:
mysql_fetch_array 

Y
Código PHP:
$result->usuario 
por
Código PHP:
$result['usuario'

Seguro que la tabla cuentas tiene una columna que se llama "usuario" ?
[Imagen: paypalqr.png]
Responder
#3
No, era Usuario con la U mayuscula, se quitó el error pero cuando intento registrar otra cuenta dice Usted ha sido registrado correctamente pero no aparece en la base de datos, osea yo borro la que registré de primero y si creo otra crea es decir solo registra una cuenta intente con mas y no guarda


Pd: como haría para incriptar el usuario y la contraseña, ya que uso el sistema de cuentas de r0ma y pues tiene incriptado la contraseña y el usuario entonces no deja loguear en el counter
"en la vida no triunfa el mas capaz, tampoco el mas rápido, en la vida triunfa solo aquel, que cree poder hacerlo"
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)