Foros del Web » Programando para Internet » PHP »

No me hace la conexion correctamente con la base de datos

Estas en el tema de No me hace la conexion correctamente con la base de datos en el foro de PHP en Foros del Web. Buenas gente, soy novato en el tema de php y hace poco decidi crear un registro de usuarios con un formulario senzillo para empezar, el ...
  #1 (permalink)  
Antiguo 17/05/2011, 13:37
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Pregunta No me hace la conexion correctamente con la base de datos

Buenas gente, soy novato en el tema de php y hace poco decidi crear un registro de usuarios con un formulario senzillo para empezar, el problema es que no me hace la conexion a la base de datos que cree (utilizo el xampp y los archivos php creados estan en la pagina correspondiente para su apertura (la htdocs que se crea por defecto)).

El registro consta de 3 archivos, haber que os parece.

Haber si conseguis ver los fallos.

El primero: config.php
<?
$dbhost="localhost"; //Host del mysql
$dbuser="root"; //Usuario del mysql
$db="registres"; //db donde se creará la tabla users

//conectamos y seleccionamos db
mysql_connect($dbhost,$dbuser);
mysql_select_db($db);

//Comenzamos la sesión, esto se explica despues en el Sistema de Login
session_start();
?>

El segundo: reg.php
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
?>
<!--Creamos el form k irá a registrar.php para comprobar y introducir los datos a la tabla users -->
<HTML>
<HEAD><TITLE>Registre</TITLE>
</HEAD>
<BODY>

<FORM action="registrar.php" method="POST">

Nick: <input type="text" name="nick" size="30">
<br>
Password: <input type="password" name="pass" size="30" >
<br>
Repetir Password: <input type="password" name="pass1" size="30" >
<br>
email: <input type="text" name="email" size="50">
<br>
Rollo: <textarea name="rollo" cols="30" rows="10"></textarea>
<br>
<input type="submit" name="submit" value="Enviar">

</FORM>;


</BODY>
</HTML>


El tercero: registrar.php
<?
include('config.php');
?>
<!--incluimos el config.php que contiene los datos de la conexión a la db-->
<HTML>
<HEAD><TITLE>Registre</TITLE>
</HEAD>
<BODY>
<?php

mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('" .$user . "','" .$pass . "','" .$email . "','" .$fecha . "','" .$level . "','" .$rollo . "') ");
echo 'Usuario registrado con éxito';

?>

</BODY>
</HTML>


Grácias por vuestro tiempo y sorry por la perdida de tiempo, se que es una tonteria xD.

PS: Alguna sugerencia de control de errores?
  #2 (permalink)  
Antiguo 17/05/2011, 13:47
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: No me hace la conexion correctamente con la base de datos

Amigo :

Tus datos debes enviarlos a traves del metodos POST tal como dice en el method="POST" de tu formulario .

Código PHP:
Ver original
  1. <?php
  2. $dato=$_POST['dato'];
  3. $sql="INSERT INTO users(dato) VALUES ('$dato')";
  4. $resultado=mysql_query($sql,$link);
  5. ?>

Saludos

Última edición por matt_1985; 17/05/2011 a las 13:53
  #3 (permalink)  
Antiguo 17/05/2011, 14:39
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: No me hace la conexion correctamente con la base de datos

Aparte de lo que te comentan es primordial que utilices mysql_error en todas las funciones de MySQL que tendrán interacción con la base de datos
Código PHP:
Ver original
  1. $conexion = mysql_connect($server,$user,$pass) or die(mysql_error());
  2. mysql_select_db($db,$conexion);
  3.  
  4. //================
  5.  
  6. $sql = mysql_query($query,$conexion) or die(mysql_error());
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 18/05/2011, 02:00
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Buenas Matt, podrias explicarme como deberia escribirlo? Pq he echo varias pruebas y no me funciona. Nose si es que lo escribo mal o si me falta algo en otro documento :S

Código PHP:
Ver original
  1. <?php
  2. $dato=$_POST['dato'];
  3. $sql="INSERT INTO users(dato) VALUES ('$dato')";
  4. $resultado=mysql_query($sql,$link);
  5. ?>

Lo que es $dato (2nda linea) seria $dato=$_POST['nick']; $dato.=$_POST['email'] etc..?
Luego en la 3a: $sql="INSERT INTO users(nick,email...) VALUES ('$dato')"
Luego: $resultado=mysql_query($sql,$link) -->En este caso link, es la conexion host?
Grácias de antemano, sobretodo, por vuestra paciencia conmigo xD

Saludos.
  #5 (permalink)  
Antiguo 18/05/2011, 02:04
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Nemutagk, ese codigo lo tendria que escribir p.ej antes de cualquier contacto con la base de datos, o sea antes de un INSERT (lineas 1y2), luego el INSERT con lo que inserte en el formulario y finalmente añadir la linea 6?

Grácias :)
  #6 (permalink)  
Antiguo 18/05/2011, 13:49
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Vale, creo que lo consegui!!! xDDD. Por dios, este fallo no me volvera a suceder nunca más.

Al final lo que hice fue revisar mi configuración del xampp por si acaso y despues de ver que todo estaba bien cree un usuario con todos los privilegios y a dado la casualidad que si que se me conecta.

Aun asi ahora surge otro problema. Una vez superado el problema de conexión y rellenado el formulario, al enviarlo me dice que las variables no estan bien definidas. Alguien ve algo incorrecto en esto?
Código PHP:
Ver original
  1. mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('" .$user . "','" .$pass . "','" .$email . "','" .$fecha . "','" .$level . "','" .$rollo . "') ");
  2. echo 'Usuario registrado con éxito';

Cuelgo el error por si acaso, aunque creo que es correcto lo que dije:

Notice: Undefined variable: user in C:\xampp\htdocs\registrar.php on line 11

Notice: Undefined variable: pass in C:\xampp\htdocs\registrar.php on line 11

Notice: Undefined variable: email in C:\xampp\htdocs\registrar.php on line 11

Notice: Undefined variable: fecha in C:\xampp\htdocs\registrar.php on line 11

Notice: Undefined variable: level in C:\xampp\htdocs\registrar.php on line 11

Notice: Undefined variable: rollo in C:\xampp\htdocs\registrar.php on line 11
Usuario registrado con éxito

Saludos ;)

Última edición por sven_uri; 18/05/2011 a las 13:55
  #7 (permalink)  
Antiguo 18/05/2011, 16:27
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: No me hace la conexion correctamente con la base de datos

Te había dicho que lo mejor es agregar la linea de mysql_error() a todas tus peticiones a la base de datos, ya que si tienes un error mostrará cual es el error y no tendrás que ir adivinando.

Ahora, el hecho que se ejecute un mysql_query no puedes dar por hecho que se ejecuto correctamente, para eso se hace un if
Código PHP:
Ver original
  1. if (mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('" .$user . "','" .$pass . "','" .$email . "','" .$fecha . "','" .$level . "','" .$rollo . "') ")) {
  2. echo 'Usuario registrado';
  3. }else {
  4. echo 'Ocurrió un error, MySQL ah dicho: '.mysql_error();
  5. }

------------------

El error que ahora tienes es porque estas intentando agregar datos inexistentes, no les estas asignando ningun valor a las variables

Undefined variable: user in C:\xampp\htdocs\registrar.php on line 11
variable indefinida: user -> quiere decir que ni has iniciado la variable ni le has asignado ningún valor

------------------

No había notado que desde el comienzo no has recogido las variables del formulario, para guardar los datos de un formulario es necesario tomar el valor de $_POST
Código HTML:
Ver original
  1. <form id="miform" method="post" action="registro.php">
  2. <p><input type="text" id="nombre" name="nombre" /></p>
  3. <p><input type="submit" value="Enviar" /></p>
  4. </form>

Para recoger el valor de "nombre" solo haces un $_POST['nombre']
Código PHP:
Ver original
  1. <?php
  2. $nombre = $_POST['nombre'];
  3. $nombre = mysql_real_escape_string($nombre); //Como la vas a ingresar a mysql es mejor escapar la variable
  4.  
  5. if (mysql_query('insert into usuarios (usuario) values("'.$nombre.'")',$conexion)) {
  6.        echo 'Usuario registrado con exito';
  7. }else {
  8.        echo 'Error al registrar el usuario, MySQL ah dicho: '.mysql_error();
  9. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 18/05/2011 a las 16:33
  #8 (permalink)  
Antiguo 19/05/2011, 03:27
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Pregunta Respuesta: No me hace la conexion correctamente con la base de datos

Cuanta razon tenias, ahora al menos no voy tan a ciegas.

Cambie el codigo como me señalaste anteriormente y lo he dejado de la siguiente manera:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $user = $_POST['nick'];
  4. $user = mysql_real_escape_string($user); //Como la vas a ingresar a mysql es mejor escapar la variable
  5.  
  6. $pass = $_POST['pass'];
  7. $pass = mysql_real_escape_string($pass);
  8.  
  9. $email = $_POST['email'];
  10. $email = mysql_real_escape_string($email);
  11.  
  12. $fecha = date("d/m/Y");
  13. $fecha = mysql_real_escape_string($fecha);
  14.  
  15. $level = $_POST['level'];
  16. $level = mysql_real_escape_string($level);
  17.  
  18. $rollo = $_POST['rollo'];
  19. $rollo = mysql_real_escape_string($rollo);
  20.  
  21. if (mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('" .$user . "','" .$pass . "','" .$email . "','" .$fecha . "','" .$level . "','" .$rollo . "') ")) {
  22. echo 'Usuario registrado';
  23. }else {
  24. echo 'Ocurrió un error, MySQL ah dicho: '.mysql_error();
  25. }
  26.  
  27. ?>

Lo que me pasa ahora son dos cosas:
1) La variable fecha la intención era que me cogiera la fecha actual, asi que le asigne el tipo date. Despues (no sé si es correcto) segui tu ejemplo del nombre con todos, incluida la fecha, para que la recogiera y la guardara en la base de datos. Pero me muestra el siguiente error:
Ocurrió un error, MySQL ah dicho: Incorrect date value: '19/05/2011' for column 'fecha' at row 1

2)Junto con el error (1) me da otro refiriendose a la variable level, diciendome que no puede estar vacio y que no esta definida:
Notice: Undefined index: level in C:\xampp\htdocs\registrar.php on line 23
Mi intención era que esta variable fuera para asignar "permisos" más adelante. P.ej (para que se me entienda): si eres un alumno puedes acceder a examenes para practicar, pero no puedes acceder a las respuestas de dichos examenes. En cambio el usuario profesor puede ver los examenes con y sin corregir.
Supongo que un procedimiento correcto podria ser que por defecto me asignara level 5 y que a partir de ahi ya haras lo que tengas que hacer dentro de la web para ir obteniendo más permisos para hacer más cosas en la web. Como asigno valor por defecto?

Saludos :).
  #9 (permalink)  
Antiguo 19/05/2011, 04:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: No me hace la conexion correctamente con la base de datos

En cuanto a lo de la fecha, lo mejor para almacenar la fecha actual es crear un campo en la base de datos que sea de tipo "timestamp", en predeterminado poner "CURRENT_TIMESTAMP" y en atributos poner "on update CURRENT_TIMESTAMP"
Con esto ya no tienes que preocuparte de este campo. Cuando vayas a insertar o modificar datos en esa tabla no le tienes que añadir ese campo en la sentencia sql. La propia base de datos ya lo rellena automáticamente con la fecha actual.

Con respecto a lo de "level", ¿estás enviando esa variable desde algún campo del formulario?. Si no tienes ningún campo en el formulario con nombre "level" no se va a enviar nada con ese nombre.
Si quieres asignarle un valor por defecto, no tienes más que ponérselo cuando asignas las demás variable del $_POST. Es decir, en vez de poner lo que has puesto:

$level = $_POST['level'];

pones simplemente;

$level=5;

No se si es eso a lo que te referías.
  #10 (permalink)  
Antiguo 19/05/2011, 06:28
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: No me hace la conexion correctamente con la base de datos

Si no quieres cambiar el tipo de campo "fecha" en vez del "date("d/m/Y")" asocia un "NOW()" y MySQL ingresará automáticamente la fecha actual, esto funciona igual en los campos con tipo datetime.

Lo del campo level puedo imaginar que no siempre podrías tenerlo rellenado con un valor, podrías verificar primero si $_POST['level'] trae un valor o no, si no trae asignarle un valor automáticamente
Código PHP:
Ver original
  1. if (!empty($_POST['level'])) {
  2. $level = $_POST['level'];
  3. $level = mysql_real_escape_string($level);
  4. }else {
  5. $level = 1; //valor por defecto si $_POST no tiene asignado ningun valor a level
  6. }

Pero tal como dice @Nexus10, verifica si en verdad tienes un campo en tu formulario con el nombre level, ya que el error muestra que no existe tal campo, o por lo menos que no fue llenado.

Un comentario, en el código que has mostrado no se ve por ningún lado la conexión a la base de datos, ahora, es un hecho que si tienes una conexión abierta, sin embargo no la estas indicando en el mysql_query, lo que significa que le das mas trabajo al tener que buscar el identificador de la ultima conexión abierta, es mejor pasarle directamente el identificador mysql_query('insert bla bla bla', $conexion)
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #11 (permalink)  
Antiguo 19/05/2011, 08:41
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Casi Done!! :D

Ya me funciona casi correctamente. He echo una prueba: me he metido en mi formulario, he rellenado los campos, le he dado a enviar y efectivamente se han añadido en la base de datos que cree. Aun asi, me ha dado por acabar de revisar, y he ejecutado uno de los 3 documentos php: registrar.php (donde hago el INSERT). Y me ha mostrado el siguiente error:

Notice: Undefined index: nick in C:\xampp\htdocs\registrar.php on line 11

Notice: Undefined index: pass in C:\xampp\htdocs\registrar.php on line 14

Notice: Undefined index: email in C:\xampp\htdocs\registrar.php on line 17

Notice: Undefined index: rollo in C:\xampp\htdocs\registrar.php on line 34
Usuario registrado


Revisando la configuración de la base de datos que cree, lo unico que se me ha ocurrido modificar, es lo siguiente: desde el panel de los componentes de la base de datos he añadido, dandole al click a la opción "Index" y automaticamente se me han añadido. Es eso lo que tenia que haber realizado?

Respecto al tema de la conexión, habitualmente lo hacia como comentabas @Nemutagk. Pero me comentaron que para futuras modificaciones (si fuera el caso) seria más práctico hacerlo como mostré, que opinas? Aunque si me dices, que es mejor hacerlo como comentas tardaré milesimas de segundo en cambiarlo jejeje.

Gente, me gustaria deciros que me habeis ayudado un monton y habeis tenido mucha paciencia conmigo y os estoy muy agradecido, cuando tenga más practica espero ser de más utilidad.
  #12 (permalink)  
Antiguo 19/05/2011, 10:00
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: No me hace la conexion correctamente con la base de datos

Los errores que muestras son el mismo error pasado del "level", o tienes los nombres diferentes en el formulario o no estas llenando el formulario por completo, muestra el código completo del formulario y de registrar.php

Lo de la conexión no se quien te lo sugirió, pero siguiendo ese "pensamiento" es como decir, para que le pones cemento a tu casa si después vas a hacer cambios, mejor pega los tabiques con pegamento para que no tengas problemas...

El punto es que, si, se puede hacer tal cual como lo tienes, pero si puedes evitarle todo el trabajo innecesario al servidor por unos cuantos caracteres creo que es lo mejor, si desde este momento aprendes a optimizar lo mejor posible tus trabajos en el futuro cuando tengas proyectos muchísimo mas complejos lo agradeceras
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #13 (permalink)  
Antiguo 19/05/2011, 12:26
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Disculpa mi ignorancia jejeje, pero entonces te refieres a que lo solucione siguiendo tu ejemplo:

Código PHP:
Ver original
  1. if (!empty($_POST['level'])) {
  2. $level = $_POST['level'];
  3. $level = mysql_real_escape_string($level);
  4. }else {
  5. $level = 1; //valor por defecto si $_POST no tiene asignado ningun valor a level
  6. }

Para hacerlo con nick, por ejemplo, como lo haria? Diciendole: Si el campo "nick" no esta vacio coge los valores del POST sino (p.ej) muestra error diciendo que no puede estar vacio. Eso solucionaria el problema o simplemente lo que he echo ha sido crear una comprobación?
  #14 (permalink)  
Antiguo 19/05/2011, 16:02
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: No me hace la conexion correctamente con la base de datos

En efecto, lo que estarías haciendo seria únicamente una validación, verifica bien que los name="" de cada campo coincidan los los $_POST para recoger los valores y si, lo mejor seria que los campos importantes antes validaras si tienen algún valor, si no tienen notificarlo y pedir que se ingrese un valor
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #15 (permalink)  
Antiguo 20/05/2011, 05:32
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

He revisado el código y los name coinciden con los $_POST. Sigo con el problema de los "Index", alguna idea? :S . Que significa esto del:
Notice: Undefined index ??
Revisando la base de datos desde myadmin he visto que hay dos variables con campos compartidos, esta bien asi o tengo que cambiarlo por algo en concreto?: (Lo he puesto con puntos para mantener la forma de la tabla)


Nombre Clave....Tipo....Unica.....Comprimido....Campo.... Cardinalidad....Ordenación
PRIMARY..........BTREE.....Si............No....... ............id...............1.................... ...A
id.....................BTREE.....Si............No. ..................id...............1.............. .........A


Ya de paso, para confirmar, la ordenación de las variables que he declarado en la base de datos la he establecido en: utf8_general_ci. Lo hago bien?
  #16 (permalink)  
Antiguo 20/05/2011, 12:20
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Es un NOTICE, se que se pueden desactivar en la página PHP.INI porque no es importante, pero sino quiero que me aparezca cómo debo solucionarlo? Creo que da este aviso porque utilizo una ARRAY sin Indice, pero nose que codigo o opción tengo que configurar para acabar con el error. Alguna idea (suponiendo que sea el error que digo, sino comentad xDD)???
  #17 (permalink)  
Antiguo 20/05/2011, 13:03
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: No me hace la conexion correctamente con la base de datos

Te dije que publicaras el código del formulario y del archivo php que guarda los datos en la db
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #18 (permalink)  
Antiguo 20/05/2011, 13:52
Avatar de sven_uri  
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: No me hace la conexion correctamente con la base de datos

Sorry, no te entendi. Oki, aqui van (aun no he echo las modificaciones de la conexión, eso lo haré despues):

reg.php
Código PHP:
Ver original
  1. <?
  2. include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
  3. ?>
  4. <!--Creamos el form k irá a registrar.php para comprobar y introducir los datos a la tabla users -->
  5. <HTML>
  6. <HEAD><TITLE>Registre</TITLE>
  7. </HEAD>
  8. <BODY>
  9.  
  10. <FORM action="registrar.php" method="POST">
  11.  
  12. Nick: <input type="text" name="nick" size="30">
  13. <br>
  14. Password: <input type="password" name="pass" size="30" >
  15. <br>
  16. Repetir Password: <input type="password" name="pass1" size="30" >
  17. <br>
  18. email: <input type="text" name="email" size="50">
  19. <br>
  20. Rollo: <textarea name="rollo" cols="30" rows="10"></textarea>
  21. <br>
  22. <input type="submit" name="submit" value="Enviar">
  23.  
  24. </FORM>;
  25.  
  26. </BODY>
  27. </HTML>

registrar.php:

Código PHP:
Ver original
  1. include('config.php');
  2.  
  3. ?>
  4. <!--incluimos el config.php que contiene los datos de la conexión a la db-->
  5. <HTML>
  6. <HEAD><TITLE>Registre</TITLE>
  7. </HEAD>
  8. <BODY>
  9. <?php
  10.  
  11. $user = $_POST['nick'];
  12. $user = mysql_real_escape_string($user); //Como la vas a ingresar a mysql es mejor escapar la variable
  13.  
  14. $pass = $_POST['pass'];
  15. $pass = mysql_real_escape_string($pass);
  16.  
  17. $pass1 = $_POST['pass1'];
  18. $pass1 = mysql_real_escape_string($pass1);
  19.  
  20. $email = $_POST['email'];
  21. $email = mysql_real_escape_string($email);
  22.  
  23. $fecha = date("Y/m/d");
  24. $fecha = mysql_real_escape_string($fecha);
  25.  
  26. if (!empty($_POST['level']))
  27. {
  28.    $level = $_POST['level'];
  29.    $level = mysql_real_escape_string($level);
  30. }
  31. else
  32. {
  33. $level = 2; //valor por defecto si $_POST no tiene asignado ningun valor a level
  34. }
  35. $rollo = $_POST['rollo'];
  36. $rollo = mysql_real_escape_string($rollo);
  37.  
  38. if (mysql_query("INSERT INTO users (nick,pass,pass1,email,fecha,level,rollo) values ('" .$user . "','" .$pass . "','" .$pass1 . "','" .$email . "','" .$fecha . "','" .$level . "','" .$rollo . "') ")) {
  39. echo 'Usuario registrado';
  40. }else {
  41. echo 'Ocurrió un error, MySQL ah dicho: '.mysql_error();
  42. }
  43.  
  44. ?>
  45.  
  46.            
  47. </BODY>
  48. </HTML>

Saludos ;)

Etiquetas: conexion, correctamente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:55.