Cita:
Iniciado por Triby
1. Como prevenir si el nombre ya fue usado?
R. Haces una consulta con el nombre tecleado y que la ID no sea igual al usuario activo, supongo que tienes una columna ID para estos casos.
Ejemplo: SELECT COUNT(*) FROM usuarios WHERE usuario = $_POST['usuario'] AND id != $_SESSION['id']
Si el resultado es diferente de cero, entonces ya esta en uso.
2. Como actualizar la sesion o cookie?
R. De la misma forma que lo haces al iniciar sesion
3. Primer comentario: Identificar el usuario que esta creando/modificando?
R. Creo que en variables de sesion tienes ya si se trata de un usuario activo y sus datos.
Ejemplo:
Código PHP:
Ver originalif(isset($_SESSION['usuario'])) { // Es un usuario activo, se debe actualizar con UPDATE
} else {
// Es usuario nuevo, debes ingresar los datos con INSERT
}
Bueno sobre el verificar si el nombre existe y si la email existe lo añadi al registro de usuarios en este modo:
Código PHP:
Ver original// chequear si el usuario esta en la bd
$sql_chk = "SELECT usuario FROM usuarios WHERE usuario='$usuario'";
if($tot_chk > 0){
echo "Nombre de usuario no disponible";
}
// chequear si el email esta en la bd
$sql_chk = "SELECT email FROM usuarios WHERE email='$email'";
if($tot_chk > 0){
echo "Email de usuario no disponible";
}
Y funciona perfectamente. Luego para la cuenta no se exactamente como meterlo hice esto:
Código PHP:
Ver original$sql_chk = 'SELECT COUNT(*) FROM usuarios WHERE usuario = "' .$_POST['usuario'].'" AND idUsuario != "' .$_SESSION['idUsuario'].'" ';
if($tot_chk > 0){
echo "Nombre de usuario no disponible";
}
En esta parte de codigo :
Código PHP:
AND idUsuario != "' .$_SESSION['idUsuario'].'" ;
tengo que llamar a una varible id que tengo que crear en el formulario o a la variable id que estoy usando en este momento?
Porque para que me reconozca el sitio he incluido en el header el archivo seccion.php que contiene estos datos:
Código PHP:
Ver original// iniciamos session
// archivos necesarios
require_once 'admin/config.php';
require_once 'admin/conexion.php';
require_once 'admin/esUsuario.php';
// obtengo puntero de conexion con la db
$dbConn = conectar();
// vemos si el usuario quiere desloguar
if ( !empty($_GET['salir']) ) { // borramos y destruimos todo tipo de sesion del usuario
}
// verificamos que no este conectado el usuario
if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) { $arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );
}
Que llaman a esta funcion:
Código PHP:
Ver original<?php
function esUsuario ( $usuario, $password, $conexion ) {
// verifica que esten los dos campos completos.
if ($usuario=='' || $password=='') return false;
// busqueda de los datos de usuarios para loguear.
$query = "SELECT idUsuario, usuario, password, tipo FROM `usuarios` WHERE usuario = '$usuario'";
$password_from_db = $row ['password'];
// verifica que el pass enviado sea igual al pass de la db.
if ( $password_from_db == $password ) {
return $row;
} else return false;
}
?>
El segundo comentario no se hacerlo y el tercero tengo que probarlo aun.
Muchas gracias por la ayuda, espero tu respuesta