Hola, estoy creando una web donde el sistema en general estaría bien, solo que quiero que los usuarios coloquen su informacion, sus intereses, musica, contextura fisica, etc, y los datos no se suben. Dejo la copia de los archivos comprometidos. Espero que me puedan ayudar. Muchas gracias
Base de datos
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_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`usuario_sexo` varchar(15) NOT NULL DEFAULT '',
`usuario_edad` varchar(15) NOT NULL DEFAULT '',
`usuario_nacionalidad` varchar(15) NOT NULL DEFAULT '',
`extras_intereses` varchar(400) NOT NULL DEFAULT '',
`extras_condiciones_pelo` varchar(200) NOT NULL DEFAULT '',
`extras_condiciones_ojos` varchar(200) NOT NULL DEFAULT '',
`extras_condiciones_piel` varchar(200) NOT NULL DEFAULT '',
`extras_condiciones_fisicas` varchar(200) NOT NULL DEFAULT '',
`extras_musica` varchar(200) NOT NULL DEFAULT '',
`extras_actividades` varchar(200) NOT NULL DEFAULT '',
`extras_a` varchar(200) NOT NULL DEFAULT '',
`extras_b` varchar(200) NOT NULL DEFAULT '',
`extras_c` varchar(200) NOT NULL DEFAULT '',
`extras_d` varchar(200) NOT NULL DEFAULT '',
PRIMARY KEY (`usuario_id`)
)
registro.php (Los usuarios se registran)
<?php
include('acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
// creamos una función que nos parmita validar el email
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;
}
// Procedemos a comprobar que los campos del formulario no estén vacíos
$sin_espacios = count_chars($_POST['usuario_nombre'], 1);
if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
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'])) { // comprobamos que el campo usuario_nombre no esté vacío
echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
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']);
// comprobamos que el usuario ingresado no haya sido registrado antes
$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); // encriptamos la contraseña ingresada con md5
// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', 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>Contraseña:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar Contraseña:</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 />
<input type="submit" name="enviar" value="Registrar" />
<input type="reset" value="Borrar" />
</form>
<?php
}
?>
</body>
</html>
data.php (Este es el archivo donde está el problema, los datos no se insertan.
<?php
session_start();
include('acceso_db.php'); // incluímos los datos de acceso a la BD
// comprobamos que se haya iniciado la sesión
if(isset($_SESSION['usuario_nombre'])) {
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Hola <?=$_SESSION['usuario_nombre']?>, Aqui podras poner tus intereses, como eres, que te gusta y demas.
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
if(isset($_POST['enviar'])) {// comprobamos que se han enviado los datos desde el formulario
// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO usuarios (usuario_sexo, usuario_edad, usuario_nacionalidad, extras_intereses, extras_condiciones_pelo, extras_condiciones_ojos, extras_condiciones_piel, extras_condiciones_fisicas, extras_musica, extras_actividades) VALUES ('".$usuario_sexo."', '".$usuario_edad."', '".$usuario_nacionalidad."', '".$extras_intereses."', '".$extras_condiciones_pelo."', '".$extras_condiciones_ojos."', '".$extras_condiciones_piel."', '".$extras_condiciones_fisicas."', '".$extras_musica."', '".$extras_actividades."', 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>Sexo:</label><br />
<input type="text" name="usuario_sexo" maxlength="12" /><br />
<label>Edad:</label><br />
<input type="text" name="usuario_edad" maxlength="3" /><br />
<label>Nacionalidad:</label><br />
<input type="text" name="usuario_nacionalidad" maxlength="40" /><br />
<label>Cuenta un poco sobre ti:</label><br />
<input type="text" name="extras_intereses" maxlength="500" /><br />
<label>Color de pelo:</label><br />
<input type="text" name="extras_condiciones_pelo" maxlength="80" /><br />
<label>Color de ojos:</label><br />
<input type="text" name="extras_condiciones_ojos" maxlength="80" /><br />
<label>Color de piel:</label><br />
<input type="text" name="extras_condiciones_piel" maxlength="80" /><br />
<label>Contextura fisica:</label><br />
<input type="text" name="extras_condiciones_fisicas" maxlength="80" /><br />
<label>Musica que te gusta:</label><br />
<input type="text" name="extras_musica" maxlength="150" /><br />
<label>Actividades que realizas:</label><br />
<input type="text" name="extras_actividades" maxlength="30" /><br />
<input type="submit" name="enviar" value="Actualizar datos" />
<input type="reset" value="Borrar" />
</form>
<?php
}
?>
</body>
</html>
<?php
}else {
echo "No estas registrado.<br />
<a href='acceso.php'>Ingresar</a> / <a href='registro.php'>Regitrarme</a>";
}
?>
Espero que me puedan ayudar para ver cual es el problema. Muchas gracias.