Hola pues primero que nada debo desiros que apenas empieso en esto del php y que de base de datos solo se lo basico
(Crear tablas, Base de datos, Insertar Valores, Seleccionarlos).
Y bueno pues pense que eso me seria suficiente para empezar con el php, y bien me lance no eh leido mucho pero quise empezar estudiando un manual de como crear un sistema de usuarios para my pagina que lo encontre en esta url...
http://maestrosdelweb.com/editorial/phpreusr/
Y bien empese a estudiarlo pero solo segui las indicaciones y bueno donde tube mis primeros problemas fue con eso de las cookies ya que el link que el proporsiona para saber mas de ello no funciona pues tube que omitirlo pensando que no seria de mucha importancia si seguia los pasos tal cual decia...
Y bueno pues lo hice pero al probar todo ello me encontre con my primer problema:
Al entrar a la pagina donde tenia que poner my nick y pass ( quise probar primero aca para ver que pasaba ya que aun no me avia registrado ) me salio el siguiente error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\miweb\info\ingresar.php on line 42
Usuario no existente en la base de datos
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in D:\miweb\info\ingresar.php on line 65
Como ven pues me dio el mensaje obiamente de "Usuario no existente en la base de datos" pero porque me tiro los demas errores de "Warning" que fue lo que paso ...
Ya que lo unico que le agregue al codigo de "ingresar.php" Fue my conexion a my base de datos asi:
<?php
$host = "localhost";
$user = "orochies";
$password = "My_pass";
/* Conectando al servidor local de MySQL */
$mysql = mysql_connect($host, $user, $password)
or exit();
function quitar($mensaje)
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\",$mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario";
}
else
{
$sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["nick"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'";
$sql .= ")";
mysql_query($sql);
echo "Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo "Debe llenar como minimo los campos de email y password";
}
mysql_close();
?>
Y lo demas como podran ver no le altere nada ( ¿Tendria que averlo hecho? ) ...
Y hantes que todo esto ya habia creado la tabla cual decia el tutorial en la base de datos asi:
CREATE TABLE usuarios (
id bigint(7) NOT NULL auto_increment,
nick char(100) NOT NULL,
password char(100) NOT NULL,
nombre char(255) default NULL,
email char(100) default NULL,
KEY id (id))
My unica duda es que en el codigo que crea la tabla esta este campo en la primer linea:
id bigint(7) NOT NULL auto_increment,
¿Para que me servira esto si no se declara en el formulario de envio a la base de datos solo esta declarado ( nick, password, nombre, email, )...?
Y bien pues hasta ahora es my primer problema al querer crear mi identificacion de usuarios...
AHHHH... y Otra duda es que en la conexion a la base de datos:
$host = "localhost";
$user = "orochies";
$password = "My_pass";
/* Conectando al servidor local de MySQL */
$mysql = mysql_connect($host, $user, $password)
or exit();
No visualiso una conexion especifica al nombre de una base de datos...
Este puede ser el problema espero me puedan ayudar...
Y bien por ahora es todo espero que alguien estudie el tutorial
y pueda aclararlo correctamente...
http://maestrosdelweb.com/editorial/phpreusr/
Espero no haber olvidado algo Es todo bye...