elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  INSERT INTO no funciona!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: INSERT INTO no funciona!  (Leído 4,954 veces)
vnak

Desconectado Desconectado

Mensajes: 15


Ver Perfil
INSERT INTO no funciona!
« en: 6 Agosto 2009, 19:43 pm »

Veréis, tengo un problema. Es en el registro de usuarios, hay un formulario :

Código:
<html>
<head>
<link rel="stylesheet" text="text/css" href="estilos.css">
</head>
<body>
<?

echo "
        <form method='post' onSubmit='javascript:crearusuario();'>
             <table border='0' width='465'>
                 <tr>

                   <td><b>Escull un nom d'usuari</b>: pensa que aquest nom et representarà, així que pensa-ho bé.</td>
                   <td> <input type='text' id='nomalumne'> </td>

                </tr>
                <tr>
                   <td><b>Contrasenya</b></td>
                   <td><input type='password' id='claualumne'></td>
                </tr>
                <tr>
                   <td><b>E-mail</b>: ha de ser una direcció vàlida</td>
                   <td><input type='text' id='emailalumne'></td>
                </tr>
                <tr>
                   <td><b>Verifica la contrasenya</b></td>
                   <td><input type='password' id='claualumneverificada'></td>
               </tr>
               <tr><td colspan='2'><input type='submit' value='Registrat'></td>
               </tr>

            </table>
       </form>
";

?>
</body>
</html>

la funcion del archivo funciones.js es la siguiente:

Código:
function crearusuario(){
new Ajax.Request('crearalumno.php', {
method: 'post',
parameters: { nomalumne: $F('nomalumne'), claualumne: $F('claualumne'), emailalumne: $F('emailalumne'), claualumneverificada: $F('claualumneverificada') },
onCreate: function(){
$('principal2').innerHTML = 'Espera, por favor...';
},
onSuccess: function(transport){
$('principal2').innerHTML = transport.responseText;
}
});
}

Y el archivo crearalumno.php:

Código:
<html>
<head>
<link rel="stylesheet" type="text/css" href="estilos.css">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="funciones.js"></script>
</head>
<body>
<?
include_once("Conexion.php");
$nomalumne= $_POST['nomalumne'];
$claualumne= $_POST['claualumne'];
$emailalumne= $_POST['emailalumne'];
$claualumneverificada= $_POST['claualumneverificada'];

if($nomalumne == "" || $claualumne == "" || $emailalumne == "" || $claualumneverificada == "") {
echo "<div id='principal'>Uno de los campos está vacío"; include_once("registro.php"); echo"</div>"; }
else {
         if($claualumne != $claualumneverificada){
         echo "<div id='principal'>Comprueba que la contraseña y la verificación sean iguales"; include_once("registro.php"); echo"</div>";}
             
                 else {
                   
                   
                    $seleccionarusuario = mysql_query("SELECT * FROM cuentas WHERE usuario = '$nomalumne'");
                    $contarusuarios = mysql_num_rows($seleccionarusuario);
                    $seleccionaremail = mysql_query("SELECT * FROM cuentas WHERE email = '$emailalumne'");
                    $contaremail = mysql_num_rows($seleccionaremail);
                    if($contarusuarios == 0 && $contaremail == 0){
                    mysql_query("INSERT INTO cuentas(usuario,password,email) VALUES ('$nomalumne','$claualumne','$emailalumne')");
                    echo"<div id='principal'>Gracias por registrarte, puedes identificarte a continuación<br>";
                    echo"o puedes volver al <a href='javascript:cargarseccion(\"inicio\")'>Inicio</a><br><br>";
                    include_once("Login.php");
                    echo"</div>";
                    }
                    else {
                    echo"<div id='principal'>Ya hay un usuario con ese nombre o ese email<br><br>"; include_once("registro.php"); echo"</div>";
                    }


}}
?>
</body>
</html>


Pues bien, todo funciona perfectamente, los errores saltan bien, pero cuando le doy a registrar, me sale el echo "Gracias por registrarte tal y tal" se incluye el login y todo, logueo y me dice que los datos son erroneos, miro en mi base de datos y no se ha creado ningun registro, es decir el INSERT INTO me falla y no se por qué razón.



En línea

XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: INSERT INTO no funciona!
« Respuesta #1 en: 6 Agosto 2009, 20:14 pm »

Mira a ver si esta te funciona...
Código
  1. mysql_query("INSERT INTO cuentas(usuario,password,email) VALUES('{$nomalumne}','{$claualumne}','{$emailalumne}')");


En línea

rigoxls

Desconectado Desconectado

Mensajes: 57



Ver Perfil
Re: INSERT INTO no funciona!
« Respuesta #2 en: 6 Agosto 2009, 20:18 pm »

Saludos,

Intenta colacarle el nombre a tus campos de texto

Código
  1. <form method='post' onSubmit=' &#8235; &#8235;javascript:crearusuario();'>
  2.             <table border='0' width='465'>
  3.                 <tr>
  4.  
  5.                   <td><b>Escull un nom d'usuari</b>: pensa que aquest nom et representarà, així que pensa-ho bé.</td>
  6.                   <td> <input type='text' id='nomalumne' name='nomalumne'> </td>
  7.  
  8.                </tr>
  9.                <tr>
  10.                   <td><b>Contrasenya</b></td>
  11.                   <td><input type='password' id='claualumne' name='claualumne'></td>
  12.                </tr>
  13.                <tr>
  14.                   <td><b>E-mail</b>: ha de ser una direcció vàlida</td>
  15.                   <td><input type='text' id='emailalumne' name='emailalumne'></td>
  16.                </tr>
  17.                <tr>
  18.                   <td><b>Verifica la contrasenya</b></td>
  19.                   <td><input type='password' id='claualumneverificada' name='claualumneverificada'></td>
  20.               </tr>
  21.               <tr><td colspan='2'><input type='submit' value='Registrat'></td>
  22.               </tr>
  23.  
  24.            </table>
  25.       </form>
  26.  
En línea

No hay verdades absolutas sin ciegas posiciones !!!
vnak

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: INSERT INTO no funciona!
« Respuesta #3 en: 6 Agosto 2009, 20:26 pm »

Gracias por responder, pero he probado lo que me habéis dicho y nada soluciona el problema  :-(
En línea

XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: INSERT INTO no funciona!
« Respuesta #4 en: 6 Agosto 2009, 22:51 pm »

Entonces deberias revisar que llegan bien todos los valores que quieres meter (por unos cuantos echo antes de la consulta para ver si es que hay algun fallo y la variable no tiene datos)... Y si no es eso, deberias mirar a ver si se produce algun error en el insert utilizando mysql_error...

EDITO:aqui hay una explicacion de mysql_error: http://docs.php.net/manual/es/function.mysql-error.php
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No funciona INSERT!!!
Bases de Datos
01munrra 5 3,151 Último mensaje 3 Abril 2012, 17:48 pm
por 01munrra
INSERT múltiple no funciona correctamente
PHP
eLank0 3 1,896 Último mensaje 13 Marzo 2014, 17:00 pm
por 1mpuls0
Insert auntomatic PHP
PHP
mgarcia.informatico 4 1,794 Último mensaje 6 Enero 2015, 16:56 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines