1
Preguntas, Ideas y Reclamaciones. / No se ingresan los datos a la BD
« en: 26 de Enero de 2015, 19:17:23 pm »
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
registro.php (Los usuarios se registran)
data.php (Este es el archivo donde está el problema, los datos no se insertan.
Espero que me puedan ayudar para ver cual es el problema. Muchas gracias.
Base de datos
Código: [Seleccionar]
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)
Código: [Seleccionar]
<?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.
Código: [Seleccionar]
<?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.