Foros del Web » Programando para Internet » PHP »

php+mysql (Talon de aquiles)

Estas en el tema de php+mysql (Talon de aquiles) en el foro de PHP en Foros del Web. Este es casi mi último intento en auxilio por desesperación. Habre visto como unos 50 videotutoriales para registro y login de usuarios (PHP+MySQL) Lo he ...
  #1 (permalink)  
Antiguo 02/10/2013, 10:48
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Pregunta php+mysql (Talon de aquiles)

Este es casi mi último intento en auxilio por desesperación.

Habre visto como unos 50 videotutoriales para registro y login de usuarios (PHP+MySQL) Lo he hecho, comprobado, recomprobado, paso por paso, e incluso me he descargado los archivos y xxx.sql que los mismos tutos han puesto ala mano.
y nada.

Siempre me pasa igual ala hora de "registrar" me envia ala pagina xxxx.php y (sale en blanco) de uno vale, de dos tambien, pero de 50 diferentes???

He llegado ala conclusión que el fallo tiene q estar en mysql

pero sigo paso por paso la creación de una base de datos, y su correspondiente tabla, con sus correspondientes columnas (en un principio no debe haber ningun problema)

y nada.... no hay manera.

Y ya he llegado a ese punto en el que uno dice, esto es imposible. y puff me fastidia mucho, porq le he dedicado mucho tiempo y esfuerzo, y estoy super motivado, para esto de php + mysql y ya estoy empezando a desmotivarme un poco. Siempre se me ha dado bien, aprender cosas, sin problemas, pero esto parece ser que es mi talon de aquiles.

Alguien podria ayudarme? De verdad que lo agradeceria enormemente.

Un cordial saludo y gracias por todo.

Atentamente
PA
  #2 (permalink)  
Antiguo 02/10/2013, 11:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: php+mysql (Talon de aquiles)

Cita:
He llegado ala conclusión que el fallo tiene q estar en mysql
En todo lo que dices no hay ninguna evidencia que sostenga tu conclusión.
Ninguna.
Cita:
Siempre me pasa igual ala hora de "registrar" me envia ala pagina xxxx.php y (sale en blanco) de uno vale, de dos tambien, pero de 50 diferentes???
La página "en blanco" no tiene nada que ver con MySQL. MySQL sólo gestiona los datos, pero no interactúa con las paginas web.
Si hay un fallo de ese nivel, es de programación, y no necesariamente de bases de datos. De hecho, si hubiese problemas de datos serían o bien errores de sintaxis, o bien datos no válidos, y cualquiera de las dos contingencias se debe administrar pro programación.

Movido al Foro de PHP, donde es mucho más probable que alguien pueda asistirte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 02/10/2013, 11:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: php+mysql (Talon de aquiles)

Cita:
Alguien podria ayudarme?
Claro que sí, tu quédate ahí tranquilo con tu código, nosotros adivinaremos que haces mal y te daremos el código ya corregido.

Y si tenías información de depuración, algún mensaje de error o log no lo compartas, sólo como prueba de que podemos leer tu mente.

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 02/10/2013, 11:53
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Respuesta: php+mysql (Talon de aquiles)

Cita:
Cita:
En todo lo que dices no hay ninguna evidencia que sostenga tu conclusión.
Ninguna.
Quizas no me explicado bien, haber, tal como expliqué anteriormente, me sale en blanco, pero la cosa, es que he hecho una prueba para comprobar si se imprime algo en la pantalla.

El mitico hola mundo, solo eso, y nada (tambien en blanco) entonces quizas el problema este en mi localhost.

luego lo subo a mi host (online) y se imprime perfectamente. A lo que me queria referir es al localhost (no al mysql) Disculpa. Y gracias por tu respuesta y por moverlo.

Cita:
Claro que sí, tu quédate ahí tranquilo con tu código, nosotros adivinaremos que haces mal y te daremos el código ya corregido.

Y si tenías información de depuración, algún mensaje de error o log no lo compartas, sólo como prueba de que podemos leer tu mente.
Pretendo creer que tu respuesta irónica va enfocada a que no basta con preguntar y listo, hay que exponer el problema. con archivos y codigos fuentes, etc...
Por lo que no voy a tomarmelo a mal. Pero como comprenderas existen dos razones por la que he preferido hacer la pregunta sin exponer nada de esto (Y n es para que desarrolleis un poder mental ni nada parecido)
1º No es cosa de exponer aqui las 50 carpetas (con sus correspondientes archivos en html y php + .sql)
y 2º recien estoy empezando en esto, y aunque no tenga nada de torpe, creo que un mensaje "de prologo" por decirlo de algún modo, puede ser mas efectivo, que presentar el libro entero.

Cita:
Y si tenías información de depuración, algún mensaje de error o log no lo compartas,
Esa es la cosa, y el principal problema, no hay mensajes de error, ni de sintasis, ni de fallo en la conexión, nada.

Entendeis ahora el porque de mi "desmotivación" en realidad detesto esta palabra, pero es un poco frustrante, intentarlo 1.000 veces y nada. Pero bueno acaso tiró la toalla Tomas Edison, hasta dar con el material con el que hoy podemos tener luz electrica en las bombillas? :)

Un saludo y gracias por vuestra ayuda.

Y disculparme el pedazo de "tochaco" que he soltao. :)

Salu2
  #5 (permalink)  
Antiguo 02/10/2013, 12:04
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: php+mysql (Talon de aquiles)

¿Y cómo es que para estar comenzando en esto y tener un ejemplo de login tienes 50 carpetas?

Dado que mencionas que al subirlo a un servidor funciona el problema debe ser tu localhost.

Pero la cosa es relativamente sencilla: coloca aquí el código de tu formulario de login, el script que verifica el login y la forma en que ejecutas la página de dicho login.
  #6 (permalink)  
Antiguo 02/10/2013, 12:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: php+mysql (Talon de aquiles)


Yo todavía estoy tratando de imaginar en qué contexto un sistema de login puede requerir 50 carpetas, pero no lo veo, la verdad, no logro imaginar ese escenario...

¿Por qué tantas?
¿No estarás atomizando demasiado algo simple?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 02/10/2013 a las 13:03
  #7 (permalink)  
Antiguo 02/10/2013, 12:23
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Respuesta: php+mysql (Talon de aquiles)

Cita:
¿Y cómo es que para estar comenzando en esto y tener un ejemplo de login tienes 50 carpetas?
50 Carpetas de registro de 50 tutoriales & videotutoriales diferentes no de uno solo. (30-35-50) ya no se ni cuantos llevo, lo del 50 ha sido por decir un numero.

Cita:
Pero la cosa es relativamente sencilla: coloca aquí el código de tu formulario de login, el script que verifica el login y la forma en que ejecutas la página de dicho login.
Será lo mejor. os mando uno por ejemplo y haber si a ustedes os va bien.



registro.html

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registro</title>
</head>

<body>
<!-- Registro -->
<form action="registro.php" method="POST">
Usuario: <input type="text" name="user" /><br />
Password: <input type="password" name="pass" /><br />
Correo: <input type="text" name="mail" /><br />
<input type="submit" value="Registrar" />
</form>
<!-- END OF Registro -->
</body>
</html>

registro.php

Cita:
<?php
require_once('funciones.php');
conectar('localhost', 'root', '', 'tutoriales');

//Recibir
$user = strip_tags($_POST['user']);
$pass = strip_tags(sha1($_POST['pass']));
$mail = strip_tags($_POST['mail']);
$ip = $_SERVER['REMOTE_ADDR'];

$query = @mysql_query('SELECT * FROM tutorial1_usuarios WHERE user="'.mysql_real_escape_string($user).'"');
if($existe = @mysql_fetch_object($query))
{
echo 'El usuario '.$user.' ya existe.';
}else{
$meter = @mysql_query('INSERT INTO tutorial1_usuarios (user, pass, mail, ip) values ("'.mysql_real_escape_string($user).'", "'.mysql_real_escape_string($pass).'", "'.mysql_real_escape_string($mail).'", "'.$ip.'")');
if($meter)
{
echo 'Usuario registrado con exito';
}else{
echo 'Hubo un error en el registro.';
}
}
?>
funciones.php

Cita:
<?php
function conectar($servidor, $user, $pass, $name)
{
$con = @mysql_connect($servidor, $user, $pass);
@mysql_select_db($name, $con);
}
?>
logeado.php

Cita:
<?php
session_start();
if($_SESSION['logged'] == 'yes')
{
echo 'Bienvenido '.$_SESSION['user'].', esta es tu pagina personal.';
}else{
echo 'No estas logeado, largate de aqui.';
}
?>
login.html

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registro</title>
</head>

<body>

<form action="login.php" method="POST">
Usuario: <input type="text" name="user" /><br />
Password: <input type="password" name="pass" /><br />
<input type="submit" value="Registrar" />
</form>

</body>
</html>
login.php
Cita:
<?php
session_start();
require_once('funciones.php');
conectar('localhost', 'root', 'pass', 'tutoriales');

//Recibir
$user = strip_tags($_POST['user']);
$pass = strip_tags(sha1($_POST['pass']));

$query = @mysql_query('SELECT * FROM tutorial1_usuarios WHERE user="'.mysql_real_escape_string($user).'" AND pass="'.mysql_real_escape_string($pass).'"');
if($existe = @mysql_fetch_object($query))
{
$_SESSION['logged'] = 'yes';
$_SESSION['user'] = $user;
echo '<script>window.location="logeado.php"</script>';
}else{
echo 'El usuario y/o pass son incorrectos.';
}
?>

tabla.sql

Cita:
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 22-11-2011 a las 16:33:39
-- Versión del servidor: 5.0.51
-- Versión de PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de datos: `tutoriales`
--

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

--
-- Estructura de tabla para la tabla `tutorial1_usuarios`
--

CREATE TABLE `tutorial1_usuarios` (
`uid` int(11) NOT NULL auto_increment,
`user` varchar(20) NOT NULL,
`pass` varchar(40) NOT NULL,
`mail` varchar(100) NOT NULL,
`ip` varchar(15) NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `tutorial1_usuarios`
--
------------------------------------------------------------------------------------------------------

Este es uno de los "50" registros que he mirado en tutos y videotutoriales.

Una cosa importante que he observado, es que la mayoria son COMPLETAMENTE distintos unos de otros.

Si me recomendais otro que sea mas eficaz os lo agradeceria tambien. Al fin y al cabo la idea es aprender de esto. :) y que mejor que ya que aprendas, aprendas bien!! :)

gracias por todo.
  #8 (permalink)  
Antiguo 02/10/2013, 12:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: php+mysql (Talon de aquiles)

Si un simple "hola mundo" te imprime en blanco, evidentemente hay un problema, revisa que tengas activado el reporte de errores e imprime los mensajes de error, en tu php.ini verifica:
Código:
display_errors = On
error_reporting = -1
Saludos.
  #9 (permalink)  
Antiguo 03/10/2013, 01:38
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba
Mensajes: 119
Antigüedad: 14 años
Puntos: 8
Respuesta: php+mysql (Talon de aquiles)

Por qué me da la sensación de que ni tienes PHP instalado?
  #10 (permalink)  
Antiguo 03/10/2013, 12:25
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Respuesta: php+mysql (Talon de aquiles)

Cita:
Por qué me da la sensación de que ni tienes PHP instalado?
Porque me da a mi que más que recibir ayuda, orientación o consejos, parece que me estais "machacando" Creo haberlo dicho que recien estoy empezando, y si estoy aqui, es para recibir ayuda u orientación, no os he pedido que me creeis un código ya hecho, solo pretendo aprender, y aunque muchos usuarios de verdad me estais ayudando (Lo cuál agradezco enormemente) pero por otra parte ya me da hasta fatiga preguntar.

Pues claro que tengo el php instalado amigo, por eso mismo estoy preguntando que algo no va bien.

Es más antes de esto del registro he hecho varios "ejercicios" en localhost para aprender. El hola mundo, crea un numero aleatorio, sumar, restar, calcular tal y cual, etc.... (Y me iba perfectamente)

Y ahora que ya voy adentrandome un poquito mas, con el tema de las BD, Empieza a sucederme esto, intento1 (mal) , intento2 (mal)..... intento50(mal) espero que comprendais que si asisto aqui es para pedir ayuda, porque hay algo que no va bien, de hecho hoy hecho lo del tema del registro en el ordenador de un amigo, y mirad que curioso (Funciona perfectamente) eceptuando que ala hora de loguearme me dice: El usuario y/o pass son incorrectos. por lo demas bien, comprueba en phpmyadmin y observo con sumo placer que el usuario se ha registrado. Despues de esto, esta claro, el problema está en mi localhost.

Cita:
display_errors = On
error_reporting = -1
Hecho, pero sige el mismo fallo (SALE EN BLANCO)

Ahora voy a "desinstalar el xampp" y volver a probar. Haber que pasa (Espero que no tenga que comprarme un nuevo equipo) para poder aprender. :)

Y ya puesto, me gustaria pediros, que me aconsejarais, cual seria el mejor "registro" para mis usuarios (si alguna vez dijera de hacer una web) que cambiariais del codigo, etc.... si conoceis uno mejor, agradeceria que me direccionaran, para poder estudiar el codigo.

Gracias por todo.
Atentamente
Un servidor.
  #11 (permalink)  
Antiguo 03/10/2013, 12:39
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: php+mysql (Talon de aquiles)

Entiendo tu frustración ante algunos comentarios cortantes, ya que mucha gente que pregunta aquí no son programadores y no saben ni cómo preguntar lo que quieren y reciben respuestas sarcásticas o simples "consulta el manual".

Pero por otra parte, no puedes solicitar ayuda específica indicando de manera general un problema.

Yo lo veo diario con usuarios que atiendo por tickets: "No puedo ver mi depósito"
¿Id? ¿Fecha? ¿Monto? si no me dicen los detalles no se puede adivinar.

Así que si tienes un problema muestra el código que estás tratando de ejecutar (un ejemplo concreto), si te muestra errores indícalos, y no respondiste a lo que indiqué:
Cita:
la forma en que ejecutas la página de dicho login.

Cita:
Por qué me da la sensación de que ni tienes PHP instalado?
Lo poco que describes de tu problema puede ser derivado de esto, una mala o nula instalación de php, así que no debes molestarte por un comentario que podría ser el motivo de tu problema, nuevamente, no podemos adivinar si ya haz hecho "hola mundos" o eres un usuario no-programador que se está metiendo de lleno con cosas medio avanzadas sin haber hecho los pasos previos.
  #12 (permalink)  
Antiguo 03/10/2013, 12:45
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 11 años, 4 meses
Puntos: 55
Respuesta: php+mysql (Talon de aquiles)

Hola.

Cuando estamos aprendiendo Php, nos dejamos llevar por la facilidad de crear "algo" y ver los resultados inmediatos, es bueno por que te da un empuje para continuar.
Pero, para que avances a cosas cada vez más sofisticadas debes entender como funcionan las herramientas que estas utilizando, nada mejor para eso que hacer pruebas.

Como estas aprendiendo debes dejar que los errores se muestren.
Sugerencia.
Quita todas las @ del código. ¿Sabes que hace la @?

Debes buscar la forma de que todo codigo que crees te de un error si no hace lo que debe hacer.
Sugerencia.
Busca mysql_error().

Cuando tengas un error concreto, lo más probable es que te podamos ayudar de mejor forma. En caso contrario contrario solo especulamos al respecto e incluso nos da flojera responder, ya que las posibilidades para que algo salga mal son muchas.

Saludos.
  #13 (permalink)  
Antiguo 03/10/2013, 13:04
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Respuesta: php+mysql (Talon de aquiles)

Hola ocp001a.

Cita:
Pero por otra parte, no puedes solicitar ayuda específica indicando de manera general un problema.

Yo lo veo diario con usuarios que atiendo por tickets: "No puedo ver mi depósito"
¿Id? ¿Fecha? ¿Monto? si no me dicen los detalles no se puede adivinar.

Así que si tienes un problema muestra el código que estás tratando de ejecutar (un ejemplo concreto), si te muestra errores indícalos,
Suelo ser una persona bastante razonable y comprensible, en realidad despues de mandar el post, me quedé un poco así como..... Creo que exagerao el asunto.
Pero si me he puesto así, es porque creo haberlo dicho ya todo, he expuesto codigos, datos de la bd, con sus correspondientes Columnas y tablas.

He explicado todo cuantiosamente. Solo me ha faltao dar la respuesta que busco.

Y porcierto acabo de encontrarla. y espero que esto le sirva alguno con el mismo problema. Pues puede ser bastante desmotivador.

Antes de borrarlo e instalar el xampp (Este es mi caso) he querido hacer un ultimo intento, y me he metido en el Panel de Control de xampp (y le he dado STOP tanto al Apache como al MySQL) Y q grata sorpresa la mia, que ha dado resultado. Ya puedo ver las "Impresiones" de pantallas, todos los Ejercicios que he ido haciendo. y demás.

Despues he querido probar con mi talón de aquiles, el Registro, y me lanza el siguiente error. (En un anterior post puse todos los codigos y arhivo.sql)

En el ordenador de mi amigo: El usuario y/o pass son incorrectos.
Y en el mio: Hubo un error en el registro.

Pero bueno, ya has menos me lanza un resultado.

Asi que he modificado lo del cortejamiento de latin1... a uft8 general_ci (de esto debo de informarme aun mas)

y del motor de almacenamiento de InnoDB a MyISAM (Tambien tendre que informarme bien de esto)

Aunque persiste el error. :)

Cita:
Cuando estamos aprendiendo Php, nos dejamos llevar por la facilidad de crear "algo" y ver los resultados inmediatos, es bueno por que te da un empuje para continuar.
Pero, para que avances a cosas cada vez más sofisticadas debes entender como funcionan las herramientas que estas utilizando, nada mejor para eso que hacer pruebas.
Tienes toda la razón Erick_MD9, pero no he pretendido empezar por registros y logueo de usuarios, he ido estudiando un poquito sobre el php. Las variables, las funciones, los arrays, etc.... entendiendo que significan, haciendo mis ejercicios (Y aun estoy en ello) pero en el camino, me ha tocado hacer lo de registros (Y como puedes leer) hasta el momento ha sido un camino bastante duro, pero he ido aprendiendo mil y una cosa (un 0,0000000001%) de lo que aún me queda por aprender. Si hago esto es para aprender de verdad, y comprender las cosas, pero cuando estas ante un problema, y lo intentas 50 veces solucionar, pedir ayuda u orientación no viene nada mal.

Pero todo lo que llega a mi, intento analizarlo, comprenderlo, y tratarlo,
Si no fuera asi, me conformaria con descargar el (PrestaShop, Wordpress, Joomla, etc...) y hacer como que hago páginas webs.

Nota: Elegí el último "registro" de los tantos que he probado. Pero como he mencionado anteriormente. Me gustaria aprender y estudiar uno, realmente, bueno, que tenga sus funciones bien hechas, seguras, etc.... he visto que cada uno de los tutos que he visto y probado, son codigos totalmetne diferentes, aunque con un mismo resultado (registras & loguear usuarios) Asi pues, me recomendais alguno que os guste.

Un cordial saludo
y gracias por todo.

PA.
  #14 (permalink)  
Antiguo 07/10/2013, 04:22
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba
Mensajes: 119
Antigüedad: 14 años
Puntos: 8
Respuesta: php+mysql (Talon de aquiles)

Cita:
Iniciado por publicidadalandalus Ver Mensaje
Porque me da a mi que más que recibir ayuda, orientación o consejos, parece que me estais "machacando" Creo haberlo dicho que recien estoy empezando, y si estoy aqui, es para recibir ayuda u orientación, no os he pedido que me creeis un código ya hecho, solo pretendo aprender, y aunque muchos usuarios de verdad me estais ayudando (Lo cuál agradezco enormemente) pero por otra parte ya me da hasta fatiga preguntar.

Pues claro que tengo el php instalado amigo, por eso mismo estoy preguntando que algo no va bien.

Es más antes de esto del registro he hecho varios "ejercicios" en localhost para aprender. El hola mundo, crea un numero aleatorio, sumar, restar, calcular tal y cual, etc.... (Y me iba perfectamente)

Y ahora que ya voy adentrandome un poquito mas, con el tema de las BD, Empieza a sucederme esto, intento1 (mal) , intento2 (mal)..... intento50(mal) espero que comprendais que si asisto aqui es para pedir ayuda, porque hay algo que no va bien, de hecho hoy hecho lo del tema del registro en el ordenador de un amigo, y mirad que curioso (Funciona perfectamente) eceptuando que ala hora de loguearme me dice: El usuario y/o pass son incorrectos. por lo demas bien, comprueba en phpmyadmin y observo con sumo placer que el usuario se ha registrado. Despues de esto, esta claro, el problema está en mi localhost.


Hecho, pero sige el mismo fallo (SALE EN BLANCO)

Ahora voy a "desinstalar el xampp" y volver a probar. Haber que pasa (Espero que no tenga que comprarme un nuevo equipo) para poder aprender. :)

Y ya puesto, me gustaria pediros, que me aconsejarais, cual seria el mejor "registro" para mis usuarios (si alguna vez dijera de hacer una web) que cambiariais del codigo, etc.... si conoceis uno mejor, agradeceria que me direccionaran, para poder estudiar el codigo.

Gracias por todo.
Atentamente
Un servidor.
Oye perdona, no te lo decía a malas, ni muchísimo menos.
Pero no es la primera vez que veo que ocurre eso, pero bueno, tómatelo como quieras.

Una vez un cliente me llamo y me dijo, oye el PC no me funciona, y yo le pregunte, ¿ lo has enchufado ?, ah pues no. De abajo a arriba, todo mas fácil.

Código:
<body>
 <!-- Registro -->
 <form action="registro.php" method="POST">
 Usuario: <input type="text" name="user" /><br />
 Password: <input type="password" name="pass" /><br />
 Correo: <input type="text" name="mail" /><br />
 <input type="submit" value="Registrar" />
 </form>
Utiliza las etiquetas labels, todo mas semántico y entendible a arañas y por supuesto para el desarrollador.

Código:
$query = @mysql_query('SELECT * FROM tutorial1_usuarios WHERE user="'.mysql_real_escape_string($user).'"');
No utilizar las arribas, si quieres evitar los errores utiliza el tan famoso bloque de control de errores/execpciones, que en PHP5 ya fue introducido.
try{..}catch(Exception $erro){};

En las bases de datos asegúrate de que conoces realmente cada uno de los tipos, cuantos mas los conozcas mas ahorraras en carga.
Por ejemplo no user varchar cuando puedas utilizar char, varchar ocupa mucho mas, no utilices valores NULL, es preferible utilizar 0 y 1, Indexa los campos claves, a la hora de realizar queries todo será mas rápido, ya que se crean las conexiones entre los registros, etc,etc.

Por lo demás continúa dándole e iras aprendiendo con el tiempo, esto lleva su tiempo.

Por otro lado no se para que utilizas la función strip_tags(), creo que en este caso no sirve para nada, tu estas mandando una simple par clave/valor representado por un array asociativo, vamos, que en el array va tu valor, no va nada mas, no creo que nadie ingrese en un campo de texto <p>contraseña...
Si lo que quieres, es limpiar las variables puedes utilizar mysql_real_escape_string(), de este modo eliminas los caracteres que quiere que no sean introducidos de ninguna de las maneras en tu aplicación.

Por otra parte, te has fijado que en tu campo de password has introducido una password hasheada, o sin querer has metido una password en texto plano. Y si la password la metes hasheada, asegúrate de que el campo que almacena la password tenga longitud suficiente como para almacenar la cadena que se genera, que normalmente son muchísimos caracteres.

Última edición por kraneok; 07/10/2013 a las 04:45
  #15 (permalink)  
Antiguo 08/10/2013, 15:38
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 51
Antigüedad: 12 años
Puntos: 0
Respuesta: php+mysql (Talon de aquiles)

Cita:
Oye perdona, no te lo decía a malas, ni muchísimo menos.
Pero no es la primera vez que veo que ocurre eso, pero bueno, tómatelo como quieras.
No me lo he tomado a mal, creeme, solo que me expliqué lo mejor que pude, expuse todos los códigos, y mis dudas, y llegó un momento en que me dió ganas de decir (¿Que más queréis? Si ya lo he dicho to´) jajajaja pero bueno para nada me lo he tomado mal.

Cita:
Utiliza las etiquetas labels, todo mas semántico y entendible a arañas y por supuesto para el desarrollador.
Lo tendré en cuenta. Gracias ;)

Cita:
Código:

$query = @mysql_query('SELECT * FROM tutorial1_usuarios WHERE user="'.mysql_real_escape_string($user).'"');

No utilizar las arribas, si quieres evitar los errores utiliza el tan famoso bloque de control de errores/execpciones, que en PHP5 ya fue introducido.
try{..}catch(Exception $erro){};
Aquí me he perdido un poco. ¬¬

Cita:
En las bases de datos asegúrate de que conoces realmente cada uno de los tipos, cuantos mas los conozcas mas ahorraras en carga.
Por ejemplo no user varchar cuando puedas utilizar char, varchar ocupa mucho mas, no utilices valores NULL, es preferible utilizar 0 y 1, Indexa los campos claves, a la hora de realizar queries todo será mas rápido, ya que se crean las conexiones entre los registros, etc,etc.
Desconocía por completo que influyera de esa manera los tipos en las bd. Muchisimas gracias por estos consejos, investigaré mucho más sobre los tipos, sobre indexar los campos clave, etc.... Pensaba que era pura (formalidad) rellenar los campos, y poco más, pero veo que son de gran importancia. Esta me ha gustado! :)

Cita:
Por otra parte, te has fijado que en tu campo de password has introducido una password hasheada, o sin querer has metido una password en texto plano. Y si la password la metes hasheada, asegúrate de que el campo que almacena la password tenga longitud suficiente como para almacenar la cadena que se genera, que normalmente son muchísimos caracteres.
No había caido en este detalle y es verdad, se crea "muchiísimos" caracteres y esto puede que no "quepa" si limito muy bajo la longitud de pass. Lo tendré apartir de ahora muchisimo más en cuenta.

Cita:
Por lo demás continúa dándole e iras aprendiendo con el tiempo, esto lleva su tiempo.
La verdad que si uno quiere aprender de verdad, no queda mas que tener paciencia, dedicarle su tiempo, y su entendimiento, te agradezco de veras tus consejos y tu "tirón" de orejas jajajaj en el buen sentido.

Un fuertisimo saludo paisano!! :)

Atentamente.
Un servidor.

Etiquetas: mysql, php-mysql, registro, sql, tabla
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:51.