Mis dudas son las siguientes
Cree la siguiente tabla:
Código PHP:
CREATE TABLE `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) NOT NULL DEFAULT '',
`usuario_clave` varchar(32) NOT NULL DEFAULT '',
`usuario_email` varchar(50) NOT NULL DEFAULT '',
`usuario_edad` varchar(2) NOT NULL DEFAULT '',
`usuario_actividades` varchar(250) NOT NULL DEFAULT '',
`usuario_horario` varchar(50) NOT NULL DEFAULT '',
`usuario_foto1` varchar(50) NOT NULL DEFAULT '',
`usuario_foto2` varchar(50) NOT NULL DEFAULT '',
`usuario_foto3` varchar(50) NOT NULL DEFAULT '',
`usuario_foto4` varchar(50) NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`usuario_id`)
)
Mi codigo para registrar usuarios es este:
Código PHP:
<?php
include('acceso_db.php');
if(isset($_POST['enviar'])) {
function valida_email($correo) {
if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $correo)) return true;
else return false;
}
$sin_espacios = count_chars($_POST['usuario_nombre'], 1);
if(!empty($sin_espacios[32])) {
echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_nombre'])) {
echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_clave'])) {
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(!valida_email($_POST['usuario_email'])) {
echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);
$usuario_edad = mysql_real_escape_string($_POST['usuario_edad']);
$usuario_actividades = mysql_real_escape_string($_POST['usuario_actividades']);
$usuario_horario = mysql_real_escape_string($_POST['usuario_horario']);
$sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
if(mysql_num_rows($sql) > 0) {
echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_clave = md5($usuario_clave);
$reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_edad, usuario_actividades, usuario_horario, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', '".$usuario_edad."', '".$usuario_actividades."', '".$usuario_horario."', NOW())");
if($reg) {
echo "Datos ingresados correctamente.";
}else {
echo "Ha ocurrido un error y no se registraron los datos.";
}
}
}
}else {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" maxlength="15" /><br />
<label>Contrasena:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar Contrasena:</label><br />
<input type="password" name="usuario_clave_conf" maxlength="15" /><br />
<label>Email:</label><br />
<input type="text" name="usuario_email" maxlength="50" /><br />
<label>Edad:</label><br />
<input type="text" name="usuario_edad" maxlength="50" /><br />
<label>Actividades:</label><br />
<input type="text" name="usuario_actividades" maxlength="250" /><br />
<label>Horario:</label><br />
<input type="text" name="usuario_horario" maxlength="50" /><br />
<input type="submit" name="enviar" value="Registrar" />
<input type="reset" value="Borrar" />
</form>
<?php
}
?>
acceso.php
Código PHP:
<?php
session_start();
include('acceso_db.php');
if(empty($_SESSION['usuario_nombre'])) {
?>
<form action="comprobar.php" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" /><br />
<label>Contrasena:</label><br />
<input type="password" name="usuario_clave" /><br />
<input type="submit" name="enviar" value="Ingresar" />
</form>
<?php
}else {
?>
<p>Hola <strong><?=$_SESSION['usuario_nombre']?></strong> | <a href="logout.php">Salir</a></p>
<?php
}
?>
Código PHP:
<?php
session_start();
include('acceso_db.php');
if(isset($_POST['enviar'])) {
if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) {
echo "El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_clave = md5($usuario_clave);
$sql = mysql_query("SELECT usuario_id, usuario_nombre, usuario_clave FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'");
if($row = mysql_fetch_array($sql)) {
$_SESSION['usuario_id'] = $row['usuario_id'];
$_SESSION['usuario_nombre'] = $row["usuario_nombre"];
header("Location: acceso.php");
}else {
?>
Error, <a href="acceso.php">Reintentar</a>
<?php
}
}
}else {
header("Location: acceso.php");
}
?>
Espero me puedan ayudar, se los agradeceria mil.
Ahhh y si tienen alguna correccion o consejo para el codigo que aqui les puse tambien se los agradeceria.