Justi 23 de septiembre de 2008 a las 13.00
   Imprimir artículo
elWebmaster.com

Taller de PHP: Nuestro Blog – Registro de usuario


¡Hola! ¿Cómo les va? En la clase de hoy vamos a ver cómo hacer para crear un formulario para que se registren nuestros usuarios.

Por un lado vamos a tener algunos archivos en la carpeta raíz, pero por otro vamos a tener una carpeta llamada “admin” que es donde va a estar nuestro backend. En esta carpeta también tendremos dos archivos adicionales que son necesarios antes de arrancar.

Cómo vamos a organizar nuestros archivos

La estructura de archivos por le momento será:

+ admin
————–
– config.php
– conexion.php
————–
– index.php
– registrar.php

El primer archivo que vamos a ver, config.php, es un archivo de configuración, en el cual guardaremos constantes que vamos a necesitar a lo largo del sitio. El misma va a contener:

admin/config.php

  1. <?php
  2.  
  3. // constantes de conexion de db
  4. define( ‘DB_SERVER’, ‘localhost’ );
  5. define( ‘DB_NAME’, ‘blogit’);
  6. define( ‘DB_USER’, ‘root’);
  7. define( ‘DB_PASS’,);
  8.  
  9. ?>

El mismo deberá estar completo con los datos de su base de datos.

El siguiente archivo, conexion.php, contiene una función que devuelve “false” o “el puntero” a la conexión con la base de datos, ya que en todas o casi todas las páginas de nuestro sitio necesitaremos una conexión con la db, es práctico mantenerla dentro de una función.

admin/conexion.php

  1. <?php
  2.  
  3. function conectar () {
  4.  
  5. $db_con = mysql_pconnect (DB_SERVER,DB_USER,DB_PASS);
  6. if (!$db_con) return false;
  7. if (!mysql_select_db (DB_NAME, $db_con)) return false;
  8. return $db_con;
  9.  
  10. }
  11.  
  12. ?>

Fíjense que estamos usando las constantes que agregamos en el archivo config.php, esto es práctico a la hora de tener que cambiar de base de datos, o migrar el sitio, sólo tendremos que modificar el archivo de configuración.

Listo, ya tenemos nuestros dos archivos antes de comenzar el proceso de registro.

En el archivo index.php tendremos una presentación por el momento, donde se podrá optar por registrarse o ingresar (más adelante tendremos las noticias, pero todavía estamos muy verdes).

index.php

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns=”http://www.w3.org/1999/xhtml”>
  3. <head>
  4. <meta http-equiv=”Content-Typecontent=text/html; charset=iso-8859-1/>
  5. <title>Blog Personal</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <h1>Blog Personal</h1>
  11.  
  12. <? if ( !empty($_GET&#91;'registro'&#93;) ) { ?>
  13. <div>El registro ha sido exitoso.</div>
  14. <? } ?>
  15.  
  16. <ul>
  17. <li><a href=”ingresar.php”>Iniciar sesi&oacute;n</a></li>
  18. <li><a href=”registrar.php”>Reg&iacute;strate gratis</a></li>
  19. </ul>
  20.  
  21. </body>
  22. </html>

Fíjense que en el body hay una sentencia php, es un if preguntando si no esta vacía una variable get llamada registro, esta variable la setearemos en el archivo registrar.php en el caso de que el registro sea exitoso. En caso de que el usuario no llegue desde ese punto, jamas verá el mensaje dentro del if.

Bueno, finalmente vamos a nuestro archivo registrar.php, que es el que tiene la lógica de nuestro registro. Primero les muestro todo el código y después les voy explicando qué es lo que hace cada cosa.

  1. <?php
  2.  
  3. // archivos necesarios
  4. require_once ‘admin/config.php’;
  5. require_once ‘admin/conexion.php’;
  6.  
  7. // obtengo puntero de conexion con la db
  8. $dbConn = conectar();
  9.  
  10. // si se envio el formulario
  11. if ( !empty($_POST&#91;'submit']) ) {
  12.  
  13. // definimos las variables
  14. if ( !empty($_POST&#91;'usuario']) )     $usuario     = $_POST['usuario'];
  15. if ( !empty($_POST&#91;'password']) )    $password     = $_POST['password'];
  16. if ( !empty($_POST&#91;'re-password']) )$rePassword = $_POST['re-password'];
  17. if ( !empty($_POST&#91;'email']) )        $email        = $_POST['email'];
  18.  
  19. // completamos la variable error si es necesario
  20. if ( empty($usuario) )     $error&#91;'usuario']         = ‘Es obligatorio completar el nombre de usuario’;
  21. if ( empty($password) ) $error&#91;'password']         = ‘Es obligatorio completar la contraseña’;
  22. if ( empty($email) )    $error&#91;'email']            = ‘Es obligatorio completar el email’;
  23. if ( $_POST&#91;'password'] != $_POST['re-password'] ) {
  24. $error&#91;'re-password'] = ‘La contrase&ntilde;a no coincide’;
  25. }
  26.  
  27. // si no hay errores registramos al usuario
  28. if ( empty($error) ) {
  29.  
  30. // inserto los datos de registro en la db
  31. $query  = “INSERT INTO `usuarios` (usuario,password,email) VALUES ($usuario’,'”.md5($password).”‘,’$email’)”;
  32. $result = mysql_query($query, $dbConn);
  33.  
  34. header( 'Location: index.php?registro=true' );
  35. die;
  36.  
  37. }
  38.  
  39. }
  40.  
  41. ?>
  1. <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
  2. <html xmlns=”http://www.w3.org/1999/xhtml”>
  3. <head>
  4. <meta http-equiv=”Content-Typecontent=text/html; charset=iso-8859-1/>
  5. <title>Blog Personal</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <h1>Registro de Usuario</h1>
  11.  
  12. <? if (!empty($error)) { ?>
  13. <ul>
  14. <? foreach ($error as $mensaje) { ?>
  15. <li><?= $mensaje ?></li>
  16. <? } ?>
  17. </ul>
  18. <? } ?>
  19.  
  20. <form action="registrar.php" method="post">
  21.  
  22. <p>
  23. <label for=”usuario”>Nombre de usuario</label><br />
  24. <input name=”usuario” type=textvalue=”<? if ( ! empty($usuario) ) echo $usuario; ?>” />
  25. </p>
  26. <p>
  27. <label for=”password”>Contrase&ntilde;a</label><br />
  28. <input name=”password” type=”password” value=”<? if ( ! empty($password) ) echo $password; ?>” />
  29. </p>
  30. <p>
  31. <label for=”re-password”>Repetir Contrase&ntilde;a</label><br />
  32. <input name=”re-password” type=”password” value=”<? if ( ! empty($rePassword) ) echo $rePassword; ?>” />
  33. </p>
  34. <p>
  35. <label for=”email”>Correo Electr&oacute;nico</label><br />
  36. <input name=”email” type=textvalue=”<? if ( ! empty($email) ) echo $email; ?>” />
  37. </p>
  38. <p>
  39. <input name=”submit” type=”submit” value=”Reg&iacute;strate” />
  40. </p>
  41.  
  42. </form>
  43.  
  44. </body>
  45. </html>

Antes de explicar el código php voy a explicarles el html, lo primero que tenemos es un if preguntando si existe una variable $error, esta variable va a contener un array con los errores que ha cometido el usuario al completar el formulario, por ejemplo no ha completado el nombre de usuario. Fíjense que uso <?= $mensaje ?>, eso es equivalente a hacer <? echo $mensaje; ?>, es muy práctico a la hora de tener que imprimir una sola linea o algo en el medio de html.

Luego tenemos el formulario, la acción del mismo es sobre el mismo archivo registrar.php, de esta forma podemos marcar en el momento si hubo algún error, en caso de que no lo haya nosotros nos encargaremos por php de redireccionar al archivo index.php avisando de que el mismo fue exitoso.

Otra cosa a tener en cuenta es que en el value de cada campo del formulario hacemos un echo de la variable correspondiente a dicho campo, esto es a que si el usuario se olvido de completar el campo de email, que no pierda los datos que completó anteriormente.

Bueno, ya estamos listos para analizar el código php.

Primero incluimos nuestros dos archivos necesarios, config y conexion, y llamamos a la función conexion guardando el puntero en una variable.

Una vez hecho esto, verificamos si se envió el formulario, para comenzar a registrar el usuario o sólo mostrar el formulario.

Guardamos cada campo completado por el usuario en una variable para poder mostrársela al usuario en caso de errores. Luego definimos nuestro array $error con los mensajes de error en caso de que los haya.

Si no hay errores, agregamos el usuario en nuestra base de datos mediante la sentencia INSERT de mysql. Y luego de esto redireccionamos a index.php?registro=true utilizando header()

Bueno, bastente sencillito ¿no? por las dudas acá les dejo los archivos que utilizamos hoy:

Clic aquí para descargar los archivos de ejemplo de este taller >>

<< CLASE ANTERIOR

CLASE SIGUIENTE >>


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (56)

  1. Ricardo Kotik dice:

    Buenisimo todo lo que explican y por sobre todo claro para la lectura.
    Voy a hacer un pequeño aporte (no se si esta pensado para mas adelante)
    Chequear que el usuario que se esta registrando no existe (evitar duplicidad de usuarios) y chequear que tampoco exista la cuenta de mail 😉 para que no haya dos usuarios con la misma cuenta.
    Ahi va el codigo!!!!

    // verificar que no exista nombre de usuario y tampoco email
    $busca_usuario = “SELECT usuario FROM usuarios WHERE usuario=’$usuario'”;
    $busca_email = “SELECT email FROM usuarios WHERE email=’$email'”;
    $resul_usuario = mysql_query($busca_usuario, $dbConn);
    $resul_email = mysql_query($busca_email, $dbConn);
    if (mysql_num_rows($resul_usuario) != 0) {
    $error[‘rep_usuario’] = “Usuario existente”;
    }
    if (mysql_num_rows($resul_email) != 0) {
    $error[‘rep_email’] = “Correo existente”;
    }
    // fin verificacion de datos repetidos

    Espero les sirva a todos para perfeccionar un poco el blog personal.
    Saludos

  2. Alexander dice:

    Es muy interesante las cases, pero tengo un problema, me gustaria practicar pero no tengo idea de como puedo hacer, me puedes recomendar algun compilador o editor para php para que al momento de hacer una pagina web con php pueda ver como funciona, siempre que hago la pagina solo me muestra el codigo que edito en el bloc de notas, les agradeceria mucho si me ayudan.

  3. Miguel dice:

    Alexander, te recomiendo que te instales Wampserver 2.0, para probar tus scrpts PHP en tu computadora.

    http://www.wampserver.com/en/

    Es gratuito y facil de instalar.

    Un saludo

    Ah, muy bueno todo el tutorial de PHP

    Gracias!

  4. Jorge dice:

    Hey… por alguna razón no me funciona el código de inserción de datos en la BD… intento y me produce un error en una de las lineas…

    ALGUIEN podría poner un código completo para poder realizar la “suscripción” y que quede reflejada en la BD de Mysql…

    Que contenga
    Usuario
    Mail
    Password…

    ¿Si tengo un campo autonumerico como clave principal, se llena autmáticamente si no pongo nada verdad?

  5. Vero dice:

    Hola,

    me gustaria saber como distinguimos entre usuarios normales y administradores. Porque cuando me registro soy usuario normal, pero no se donde se dan los privilegios. O hay que hacerlo directamente desde la base de datos???

    Muchas gracias por el tutorial, es estupendo!!!

  6. danilo dice:

    me bota este error Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\blog\registrar.php:32) in C:\xampp\htdocs\blog\registrar.php on line 34 y si quito los inlude o require se quita lei que es porque el header no puede escribir cuando alguien escribe antes que el help!!!

    blog personal

    Nombre de usuario
    <input name=’usuario’ type=’text’ value=” />

    Contraseña
    <input name=’password’ type=’password’ value=” />

    Repetir Contraseña
    <input name=’re-password’ type=’password’ value=” />

    Correo Electronico
    <input name=’email’ type=’text’ value=” />

  7. Justi dice:

    @Jorge:
    ¿Si tengo un campo autonumerico como clave principal, se llena autmáticamente si no pongo nada verdad?
    Si.

    @vero: para cambiar los privilegios hay que hacerlo directamente desde la base de datos. 😉

    @danilo: el error ese que te tira es porque se esta escribiendo algo antes del header location, fijate si no hay ningun error o te quedo algun caracter y no te diste cuenta.

  8. elvis dice:

    hola justi q tal no entiendo xq me sale est error
    Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\noticias\admin\config.php:8) in C:\AppServ\www\noticias\registrar.php on line 31

  9. Justi dice:

    en la linea 31 tenes un “header: location”, para poder modificar parte del encabezado que manda la pagina, tenes que no haber enviado ningun encabezado antes, seguromante se esta haciando o un echo de algo anterior a esa linea, o hay algun error que hace que se muestre en pantalla primero el error, entonces cuando quiere actualizador los encabazados dice que ya se enviaron y que no se puede modificar.

  10. Eduar Felipe dice:

    Hola, estoy trabajando en un Mac con dreamweaver, el registro esta siendo almacenado en la base de datos pero luego de guardar los datos no me redirecciona al index, se que es un problema con el Header pero no la verdad no se cual es.

    // inserto los datos de registro en la db
    $query = “INSERT INTO usuarios (usuario,password,email) VALUES (‘$usuario’,'”.md5($password).”‘,’$email’)”;
    $result = mysql_query($query, $dbConn);
    header( ‘Location: index.php?registro=true’ );
    die();
    }
    Otro problema que tengo y no se como solucionar es que tengo instalado mamp y no me registra los errores del codigo o la base de datos, entonces quisiera saber si alguien sabe como configurar las opciones para poder ver estos errores en un MAC.
    Un saludo,

  11. Justi dice:

    si el error lo tira en el header es porque seguramente se estan enviando las cabeceras antes de que las puedas modificar vos. Por lo general esto ocurre por algun error, que obliga al navegador a recibir las cabeceras para mostrar el error, entonces a la hora de hacer la redirección falla.

    Fijate si esta todo bien, con respecto a lo de mamp no puedo ayudarte con eso, no tengo ni idea como funciona.

  12. Crafter dice:

    El Script me tira un error en la linea 13, me dice lo siguiente:
    Parse error: syntax error, unexpected T_STRING in /home/siwakura/public_html/includes/registro.php on line 13
    ok en la linea 13 tengo lo siguiente:
    if ( empty($usuario) ) $error[‘usuario’] = ‘Es obligatorio completar el nombre de usuario’;

    a ver si me pueden ayudar en ello… grax de antemano…

  13. Crafter dice:

    ya esta solucionado ahora me esta dando error es al crear el usuario… :S:S

  14. Justi dice:

    @Crafter hola, fijate que el sistema de noticias que estamos usando en elwebmaster.com cambia las comillas simples por una especie de acento, lo que tenes que usar en todos lados del codigo son las comillas que tenes en la linea 13 que determinan la palabra usuario cuando definis las variables y no las que estan con el texto “Es obligatorio completar … Donde veas ese tipo de comillas reemplazalo por las comillas simples. Fijate si con eso se solucionan tus problemas, saludos.

  15. Gustavo dice:

    Hola a todos, yo estoy en el grupo que tiene problemas con el header pero ya llego 2 dias revisando el codigo y no encuentro errores :(:( , por favor diganme donde mas podria revisar o si alguien soluciono el error por favor digame como por q parece q el error es comun Muchas gracias anticipadamente… por si acaso mi correo es gus_tavex@hotmail.com Gracias muchas gracias a quien me pueda ayudar.

  16. Gustavo dice:

    Hola a todos!!! muchas gracias por el material!!! Resolvi los problemas, gracias por apoyar a los programadores de la siguiente generacion!!!!! 😀 😀

  17. Nahuel L. dice:

    Hola, quisiera saber si podrian publicar esto pero para blogs, por favor respondamen a mi email gracias!

  18. Alevsk dice:

    Hola primero que nada felicidades por el curso de php esta muy bueno, segundo quiero comentar que no puedo lograr registrar los usuarios en la DB, simplemente presiono el boton de registrar y no pasa nada, la base de datos la monte en mi localhost y mi usuario tiene full permisos, tambien he checado lo que mencionan de las ‘ y ” y al parecer ya esta todo bien, donde requieren los archivos de config.php y conexion.php los cambie a include y tampoco funciona, no me da ningun error, pero no se por que no funciona.

    salu2

  19. Justi dice:

    @Alevsk me extraña que no te este saliendo ningun error. Quizas tenes configurado tu php para que no muestre errores en pantalla. Si estas probando en tu propia maquina, fijate de modificar la opcion en el php.ini que dice error_reporting = Off por error_reporting = E_ALL, quizas estas teniendo errores pero no se muestran.

  20. alex dice:

    y eso se puede poner en un blog de wordpress?

  21. juanma dice:

    muy buenas señores….
    muy bueno el sitio este…de gran ayuda….
    ahora me gustaria a ver su pudieran ayudarme…..el codigo funciona practicamente todo salvo en el lugar de esUsuario…..que me esta dando un error con “”mysql_fetch_array””….el codigo completo es este:
    $query = “SELECT idUsuario, login, clave, tipo FROM usuarios WHERE login = ‘$usuario'”;
    $resultado=mysql_query($query, $conexion);
    $row =mysql_fetch_array($resultado);
    $password_from_db = $row[‘clave’];
    unset($query);
    y el mensaje de error este:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\admin\esUsuario.php on line 9

    y no consigo salvarlo.
    ¿alquien puede ayudarme?
    gracias y un saludo

  22. Justi dice:

    @juanma yo haría dos pruebas para eso, primero no se si es un problema del código o como se pego el comentario en elwebmaster.com pero fijate que en la linea que tenes el $query = … tenes que usar las comillas que son rectas, no esas para englobar a $usuario (

    '$usuario'

    ).

    Otra cosa que probaría es ver como se esta armando la consulta, es decir, que valor tiene $usuario. Una forma de ver esto es haciendo un echo justo despues de la linea donde esta $query = “SELECT … para ver como se forma.

    $query = “SELECT idUsuario, login, clave, tipo FROM usuarios WHERE login = ‘$usuario’”;
    echo $query;
    $resultado=mysql_query($query, $conexion);
    $row =mysql_fetch_array($resultado);
    

    Asegurate de borrar despues la linea del echo sino todo el mundo lo va a ver.

  23. Tony dice:

    Te consulto por estas constantes de conexion de db
    define( ‘DB_SERVER’, ‘localhost’ );
    define( ‘DB_NAME’, ‘blogit’);
    define( ‘DB_USER’, ‘root’);
    define( ‘DB_PASS’, ”);

    se pone con los nombres tal cual lo definis, me refiero precisamente al primer parametro los ‘DB_SERVER, ‘DB_NAME, ‘DB_PASS.

    gracias

  24. david dice:

    hola me pregunto donde hay que colocarlo se colca en hatml o en gadget no entiendo espero tu respuesta mi correo: bisval11@hotmail.com

  25. Edwin dice:

    Warning: mysql_pconnect() [function.mysql-pconnect]: Unknown MySQL server host ‘DB_SERVER’ (1) in /home/innovacp/public_html/radio/admin/conexion.php on line 5
    me sale este error y no se porq si me pueden ayudarr pleaseeee

  26. Justi dice:

    @edwin hola, no encuentra el dominio del hosting, ojo que le estas poniendo como ip “DB_SERVER”, ahi tiene que ir la ip del hosting de la base de datos o localhost si esta en la misma computadora

  27. cristhian antonio gamboa cueva dice:

    hola porque no puedo ingresar ami pagina si ya puse toda la informacion y me sale que envie un email a la cuenta pero no ce cual cuenta es porfa ayudenme chao.

  28. javier dice:

    Buenas, muchisimas gracias antes que nada por estas clases!!

    Tengo 1 problema similar en 2 clases diferentes:

    “actualizar y borrar registros 2”: arme el form de edicion del item, pero no logro que me muestre los datos que estan en la db. Dentro de los campos aparece escrito todo lo que esta dentro de los . mi primary key es idItem, y es la q utilizo en la url, localhost/carpeta/editar.php?idItem=xxx. Ahora, ponga el numero que ponga en idItem, no sale ningun error, asi exista o no realmente el item. Pero si yo cambio el nombre, por ejemplo a editar.php?iditem1=xxx, ahi si tira un error al no encontrar esa llave primaria (porque no existe, claro esta). O sea, puedo conectar a la db (ya que anteriormente pude agregar items dentro de la tabla, en las clases anteriores), pero no puedo editar los datos.

    Eso mismo me pasa ahora con registrar.php, no tira ningun error el archivo, pero dentro de los campos aparece escrito todo lo que esta entre , y si le doy al submit, refresca la pagina, pero no introduce ningun dato en la db, y tampoco tira ningun error.

    Ya me esta volviendo loco esto jeje. Aclaro que en en el php.ini esta habilitada la funcion para que muestre los errores, y pude conectarme con la db para agregar items sin ningun problema. Tambien corrobore varias veces la sintaxis de los archivos, y no encontre ningun error de comillas ni nada por el estilo…:S

    Saludos y gracias por la paciencia!

  29. javier dice:

    perdon, donde dice dentro de los ., tienen que estar los simbolos de apertura y cierre de codigo php, en ambos casos jeje.

    Saludos!

  30. Justi dice:

    @javiar hola, fijate si no tenes un error de sintaxis en la consulta que haces UPDATE, por lo general no tira error pero no cambia ningun dato. Saludos.

  31. Ramon dice:

    Hola tengo un problema agradeceria su ayuda, al iniciar sesion me da este mensaje:
    Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\wamp\www\admin\esUsuario.php on line 10

    Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\wamp\www\admin\esUsuario.php on line 11

  32. Justi dice:

    fijate que no se le debe estar pasando la conexion con la base de datos!

  33. Diegop dice:

    hola Justi muchisimas gracias por estas clases!
    Tengo un problemita con el archivo registrar.php, me da ese error del header y pasa lo mismo usando el archivo q dejaste para descargar “blog.zip”.
    este es el error: Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\blog2\registrar.php:32) in C:\xampp\htdocs\blog\registrar.php on line 34

    gracias por todo Justi, ya vi q a otros le paso este error pero no se publico la solucion aca en los comentarios

  34. Diegop dice:

    Este problema del header solo aparece en el xampp (por lo menos a mi), en el servidor real funciona bien.
    Para solucionarlo en xampp: guardar el archivo registrar.php en Formato UTF-8 sin BOM y no dejar espacio entre la comilla simple y location, quedando asi: ‘Location: index.php?registro=true’
    Bueno eso puede servir para otro q tenga el problema con xampp como yo.
    gracias por las clases y Saludos.

  35. Justi dice:

    @diegop buenisimo que lo hayas podido solucionar!

  36. jhonattan dice:

    por qué me aparece estos valores, alguien me puede ayudar? y tambien por qué cuando consulto los usuarios que ingreso la contraseña que le asigno al usuario que me invente es algo como esto b6d3784d0de91cd568a6fe76dbe3f7d4:

  37. alcides dice:

    pero tambien se puede poner el archivo de coneccion con la base de datos y el de config juntos bueno asi es como yo lo hago no se por que lo pones todo por separado “es por seguridad o por otra cosa”

    bueno asi es como yo lo hago

    bueno aca el esperto eres tu

    y como se aria en el caso de editar y borrar usuarios pues lo hice pero no encuentro el erro cuando modifico un usuario sea cual sea termina abriendo la coneccion con ese usuario

  38. alcides dice:

    gracias por el taller

  39. omar dice:

    gracias hermano de maravilla ni te imaginas lo q he aprendido hasta ahora y lo que se viene debe ser mejor :)

  40. Julio dice:

    Hola me salta este error:
    Warning: mysql_pconnect() [function.mysql-pconnect]: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) in /home/content/51/6964851/html/registro/admin/conexion.php on line 5

    Otra cosa, falta la tabla sql

  41. ayrton dice:

    error :

    Parse error: syntax error, unexpected T_DNUMBER in /home/a2137475/public_html/admin/conexion.php on line 5

  42. Gloria dice:

    Hola, antes que nada felicidades esta muy padre el curso, solo quisiera saber porq al momento de ingresar ya una vez que me eh registrado aparece este error.

    Parse error: syntax error, unexpected ‘;’ in C:\wamp\www\usuarios\comprobar.php on line 13

  43. joel dice:

    para el que le sale este error:
    Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\wamp\www\admin\esUsuario.php on line

    Lo que debes hacer es cambiar por un * , si un asterico y borrar todo los parametros para que quede asi en el archivo esUsuario:

    $query = “SELECT * FROM `usuarios` WHERE usuario = ‘$usuario'”;

    listo debe desaparecer el error al actualizar…

  44. Jesand dice:

    Me marca todo este error en la pagina de registrar.php

    Notice: Use of undefined constant ‘DB_SERVER’ – assumed ‘‘DB_SERVER’’ in C:\xampp\htdocs\Nota\admin\config.php on line 4

    Notice: Use of undefined constant ‘localhost’ – assumed ‘‘localhost’’ in C:\xampp\htdocs\Nota\admin\config.php on line 4

    Notice: Use of undefined constant ‘DB_NAME’ – assumed ‘‘DB_NAME’’ in C:\xampp\htdocs\Nota\admin\config.php on line 5

    Notice: Use of undefined constant ‘cdcol1’ – assumed ‘‘cdcol1’’ in C:\xampp\htdocs\Nota\admin\config.php on line 5

    Notice: Use of undefined constant ‘DB_USER’ – assumed ‘‘DB_USER’’ in C:\xampp\htdocs\Nota\admin\config.php on line 6

    Notice: Use of undefined constant ‘root’ – assumed ‘‘root’’ in C:\xampp\htdocs\Nota\admin\config.php on line 6

    Notice: Use of undefined constant ‘DB_PASS’ – assumed ‘‘DB_PASS’’ in C:\xampp\htdocs\Nota\admin\config.php on line 7

    Notice: Use of undefined constant ‘alfanumerico2154’ – assumed ‘‘alfanumerico2154’’ in C:\xampp\htdocs\Nota\admin\config.php on line 7

    Notice: Use of undefined constant DB_SERVER – assumed ‘DB_SERVER’ in C:\xampp\htdocs\Nota\admin\conexion.php on line 5

    Notice: Use of undefined constant DB_USER – assumed ‘DB_USER’ in C:\xampp\htdocs\Nota\admin\conexion.php on line 5

    Notice: Use of undefined constant DB_PASS – assumed ‘DB_PASS’ in C:\xampp\htdocs\Nota\admin\conexion.php on line 5

    Warning: mysql_pconnect() [function.mysql-pconnect]: php_network_getaddresses: getaddrinfo failed: Host desconocido. in C:\xampp\htdocs\Nota\admin\conexion.php on line 5

    Warning: mysql_pconnect() [function.mysql-pconnect]: [2002] php_network_getaddresses: getaddrinfo failed: Host desconocido. (trying to connect via tcp://DB_SERVER:3306) in C:\xampp\htdocs\Nota\admin\conexion.php on line 5

    Warning: mysql_pconnect() [function.mysql-pconnect]: php_network_getaddresses: getaddrinfo failed: Host desconocido. in C:\xampp\htdocs\Nota\admin\conexion.php on line 5

    A que se debera?

  45. Jesand dice:

    Ya resolvi el problema era por caracteres… Lamento

  46. Sol dice:

    Hola Justi!

    Antes que nada quiero felicitarte por el curso de php, muy bueno!
    Te cuento cuales son mis dudas.

    1. Al abrir en el navegador el archivo index.php Ya me aparece el div que dice: El registro ha sido exitoso. y también me aparecen los botones Bienvenido – Salir y Panel de administración.
    a.¿Cómo hago para que el div aparezca después de que el usuario se registro?
    b.¿Cómo hago para que el botón salir aparezca una vez que esta logueado y que el botón de panel de administración aparezca cuando se conecte solamente el administrador?

    2.Cuando el usuario escribe mal su usuario o contraseña no me devuelve ningún mensaje de error que preparamos en el código.
    a.¿Cómo hago para activar esos mensajes porque asi como los escribimos no me aparecen?

    3. Cuando abro el archivo noticias.php me muestra los div de agrego, borro y modifico con exito.

    a. ¿cómo hago para que aparezcan luego de realizada dicha acción?

    4.Las noticias que estoy genero en el archivo noticias.php no estan apareciendo ni en la tabla noticias ni en la misma pagina.php y las noticias que escribo automaticamente en la base de datos tampoco aparecen en el archivo noticias.php ni el index.php principal donde se visualizan todas las noticias.

    a. ¿cómo logro que funcionen?¿no me tira ningun tipo de error?

    Quedo a la espera de una pronta respuesta.
    Desde ya muchas gracias.

    Saludos,
    Sol.

  47. Sol dice:

    @Justi, sigo trabajando en los archivos que nos enseñaste y me surgió otra duda.
    Cuando ingresas a la página registrar.php en cada input aparece su codigo.

    Nombre de usuario
    <input name=”usuario” type=”text” value=”” />

    yo quiero sacar del value ese codigo y dejar ahí su texto correspondiente. Si saco ese codigo, ¿donde lo pongo? ¿puedo borrarlo? Porque sino cuando se registre el usuario al ver ese código no va a saber el motivo y va a pensar que esta roto el formulario.

    gracias!
    Sol.

  48. Sol dice:

    label for=”usuario”>Nombre de usuario
    input name=”usuario” type=”text” value=/>

    en el comentario anterior no aparecio el contenido del value. Veamos si ahora si se ve

  49. Sol dice:

    if ( ! empty($usuario) ) echo $usuario; a ver ahora? :(

  50. sol dice:

    Hola!

    ¿Alguien sabe como hacer para que me imprima los errores? Porque cuando no escribo usuario o contraseña, no me tira los echo de $error. En ninguno de los archivos. ¿saben porque pasa eso?

    Gracias,
    Sol.

  51. sol dice:

    Perdón mi insistencia pero encuentro varios errores en los archivos que he bajado. Y entiendo que esos errores no deberían estar ya que fueron considerados en la explicación del curso.

    Cuando no escribo usuario y/o contraseña

    a. no me tira ninguno de los errores que tenemos preparados en el código php.
    b. pongo cualquier nombre de usuario y contraseña y accedo al panel de administración.

    Por otro lado cuando me inscribo como usuario si se guardan los datos en la tabla usuarios.
    Pero cuando ingreso una noticia o categoria no se guarda en sus correspondientes tablas. ¿que puede estar sucediendo?

    Agradeceria me ayuden a resolver estas inquetudes, porque no logro encontrar de donde provienen dichos errores.

    Muchas gracias,
    Sol.

  52. Antonio dice:

    Hola Sol, lo de tu formulario que se muestra el codigo php en los campos, es por que Justi esta utilizando etiquetas cortas de php. , lo que tienes que hacer es colocar la etiquetas normales de apertura o modificar el archivo de configuracion de php.ini y establecer la linea short_open_tag a “On”: tal como sigue:
    short_open_tag = On
    Guardas los cambios y reinicias tu servidor web.

  53. Ivan Paredes dice:

    Tengo un problema, la línea me debería retornar un texto si hay error en el formulario pero este me indica un errorUndefined variable: mensaje in C:\wamp\www\just-blog-it\ingresar.php on line 69, ayudaa :(

  54. Mosiah dice:

    No es por nada, pero el codigo no funciona, aparece esto a cada rato: Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\othosting\admin\config.php:22) in C:\xampp\htdocs\othosting\admin\registrar.php on line 26

  55. Sommer Fugtrexck dice:

    Hola tengo problema con este script y me sale este mensaje o error

    ( ! ) Parse error: syntax error, unexpected ‘$’ in C:\wamp\www\Usuarios\procesar.php on line 6
    Agradeceria cualquier ayuda.

    procesar.php

  56. Kevin Vega dice:

    Hola, Muy bueno el tutorial.
    Tengo un problema, realice todos los pasos que me dijiste, pero cuando le doy insertar no me aparece nada en la base de datos. Tengo todo bien, el nombre de la base de datos, el nombre de usuario y el resto de datos están bien. Y no tengo ningún error, el código que hice es igual al de tu taller que descargue.
    Que puede ser? Me Puedes ayudar?
    Te Agradezco.

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder