Tarea base datos

Para este lunes tengo que entregar un trabajo para mi escuela, se trata de una página web, tengo que poner un espacio donde la gente que entre se registre y dejen todos sus datos, para después yo tener la lista de mis visitantes y me dijeron que con php se puede.
Me puedes decir como POR FAVOOOR, o pasarme el código... También me puedes recomendar de algún hosting gratis que soporte php, para poder subirla...

1 Respuesta

Respuesta
1
Según el código que te puse anteriormente de los scripts, y una vez hayas realizado las modificaciones en mysql_connect y mysql_select_db, tienes que modificar las consultas, por ejemplo en login.php tienes:
$consulta = "SELECT * FROM Usuarios WHERE usuario = '{$_POST['usuario']}' AND contrasenia = '{$_POST['contrasenia']}'";
Esto indica que se quiere obtener todos los campos de la tabla Usuarios donde el campo usuario y contrasenia coincidan con un valor determinado. Por esto, en la base de datos debes crear esa tabla con esos campos, y rellenarla con los datos que corresponda. Puedes poner un usuario y contraseña para probar el funcionamiento.
Necesitas tener 4 scripts: el script del formulario que puedes llamar inicio.php, el script que comprueba los datos introducidos en el formulario que puede llamarse login.php, el script de la página principal llamado paginaprincipal.php y el script de registro de nuevos usuarios llamado registro.php.
Según esos scripts, tienes que crear la tabla Usuarios con los campos: usuario, contrasenia, fecha_visita, fecha_inicio. No he probado el código y quizá tenga algún error. Dime cómo se llama la tabla que has creado y con qué campos. También dime en qué línea da error y copia ese error y me lo pones aquí.
Es un poco diferente. La función mysql_connect lo único que hace es establecer el diálogo con el gestor de bases de datos, que es mysql. Tienes que usar la función mysql_select_db para elegir qué base de datos usar.
Esa parte del código quedaría como sigue:
$id = mysql_connect("localhost", "", "");
mysql_select_db("luiscarpio_es_db", $id);
Eso soluciona el problema
Me alegra que ya lo tengas funcionando.
Ahora solo falta la base de datos. Para crearla tienes que entrar en la web de lycos (http://www.tripod.lycos.es/), introduces tu nombre de usuario y contraseña, luego vas al apartado PHP4U y tendrás una opción para crear la base de datos MYSQL. Ya solo tienes que ir creando las tablas necesarios cada una con los registros que le corresonda.
Al crear la base de datos te dirá el nombre que tienes que poner, quizá sea "luiscarpio_es_db".
Muchas gracias por ayudarme.
Ya tengo el hostign en lycos, ya subí los primeros ficheros y si esta funcionando, ¿pero cómo logro lo del sql y la base de datos?
http://usuarios.lycos.es/luiscarpio/1.php,,, esa es la direccion, espero que me puedas constestar rapido gracias.
Gracias de nuevo...
Oye ya active el phpU, y puse el nombre de la base de datos donde debe de ir en la programación, pero no pasa nada sigue marcando error...
$id = mysql_connect("localhost", "luiscarpio_es_db", ""); // estos datos dependen de tu base de datos
.....Que mas se deve de hacer, gracias por tu ayuda de nuevo...
http://usuarios.lycos.es/luiscarpio/1.php
Hola otra vez, para mi que ya te aburrí, o te desespere...
Oye ya madifique lo que me dijiste, pero no pasa nada marca un fatal error!, ¿Me puedes decir que más falta? ¿Oye en la programación que me diste del registro ya van incluido los campos? O que falta...
Espero que me puedas ayudar
No es complicado pero si laborioso. Las herramientas que necesitas son php, apache, mysql, y mysql control center o phpmyadmin.
- Primero necesitas crear la base de datos. La base de datos se puede llamar Visitantes, y la tabla que contiene los datos puedes llamarla Usuarios. Entre los campos necesarios tienes: usuario, contrasenia, fecha_visita, fecha_registro, etc.
Esta base de datos la puedes crear mediante mysql control center, o phpmyadmin.
- Necesitas crear la página de inicio que contendrá el formulario de registro de los usuarios (registro.php):
<html> <head> ... </head>
<body>
<form name='formulario' method='post' action='login.php'>
Usuario: <input type='text' name='usuario'> <br>
Contraseña: <input type='password' name='contrasenia'> <br>
<input type='submit' name='Registrar' value='Registrar'>
</form>
</body> </html>
- Al rellenar esos datos y pulsar el botón enviar se envían a la página login.php que será la siguiente:
<?php
session_start();
if (!isset( $_POST['usuario'] )) {
header("Location: registro.php");
} else {
$id = mysql_connect("localhost", "", ""); // estos datos dependen de tu base de datos
mysql_select_db("Visitantes", $id);
$consulta = "SELECT * FROM Usuarios WHERE usuario = '{$_POST['usuario']}' AND contrasenia = '{$_POST['contrasenia']}'";
$datos = mysql_query($consulta, $id);
$numDatos = @mysql_num_rows($datos);
if ($numDatos <= 0) {
echo "Error: usuario o contraseña incorrectos. <br>";
echo "Si no está registrado pulse <a href='registro.php'> aquí </a>";
} else {
$_SESSION['OK'] = 1;
$_SESSION['User'] = $_POST['usuario'];
$ultimaFecha = date("Y-m-d");
$consulta = "UPDATE Usuarios SET fecha_visita = '$ultimaFecha' WHERE nombre = '$actualUser'";
$resultado = mysql_query($consulta, $id);
header("Location: paginaPrincipal.php" );
}
}
?>
Cuando el usuario está validad se crea la sesión y se le permite acceso a paginaPrincipal.php. En caso de producirse un error puede ser porque se ha escrito mal la contraseña o porque ese usuario no está dado de alta, se proporciona el enlace para darse de alta.
- La página principal tiene que formar parte de la sesión y su estructura sería parecida a la siguiente (paginaPricipal.php):
<?php
session_start();
if (!isset($_SESSION['OK'])) {
header("Location: login.php");
}
// RESTO DE LA PAGINA WEB
?>
- La página para darse de alta es la siguiente (Registro.php):
<?php
if (!isset($_POST['usuario'])) {
echo "<form name='formulario' method='post'>";
echo "Usuario: <input type='text' name='usuario'> <br>";
echo "Contraseña: <input type='password' name='contrasenia'> <br>";
echo "<input type='submit' name='Registrar' value='Registrar'>";
echo "</form>";
} else {
$id = mysql_connect('localhost', '', '');
mysql_select_db("Visitantes", $id);
$consulta = "SELECT * FROM Usuarios WHERE Usuario = '". $_POST['usuario'] ."'";
$resultado = mysql_query($consulta, $id);
$numi = mysql_num_rows($resultado);
if ($numi == 0) {
$Hoy = date("Y-m-d");
$consulta = "INSERT INTO Usuarios (usuario, contrasenia, fecha_visita, fecha_inicio) VALUES ";
$consulta .= "( '" . $_POST['usuario'] . "', '" . $_POST['contrasenia'] . "', '$fechaHoy', '$fechaHoy' )";
$resultado = mysql_query($consulta, $id);
$mysql_close($id);
}
}
?>
Bueno, más o menos sería ese el código. No lo he probado pero creo que funcionará. Quizá necesites hacerle pequeños retoques.
Respecto al hosting gratuito que permita php, hay muchos sitios pero la mayoría te exigen un número de visitas mínimo. Quizá puedes probar con lycos que es menos restrictivo.
Te faltaba crear la tabla en la base de datos y realizar unos pequeños retoques en el código.
Te he creado la tabla Usuarios con 4 campos y dos usuarios. El código que funciona te lo he puesto en una carpeta llamada Usuarios. La ruta que tienes que poner para ejecutar la página es:
http://usuarios.lycos.es/luiscarpio/Usuarios/1.php
Puedes entrar con los siguientes datos:
- Usuario1
- Contraseña1
y
- Usuario2
- Contraseña2
He probado el código y funciona bien. Los dos usuarios los he creado mediante la página registro.php.
Hola y gracias... fíjate que ahora si no supe ni que hacer. como me urge te paso mi nombre de usuario y contraseña de lycos http://www.tripod.lycos.es/build/php4u/
Usuario: luiscarpio
Contraseña: brujos
¿Oye y no hay códigos ya hechos? Bueno
Espero que me puedas ayudar de verdad te lo agradeceré mucho...
Oye muchas gracias de verdad, me estas ayudando mucho, gracias.
Pero ahora mis dudas son, ¿cómo le hago para agregar más campos? Así de correo dirección, ¿etc?
Veo el código y yo pienso que al darme de alta debe de aparecer un mensaje que dice "usuario dado de alta" y eso no me pasa, aun no comprendo muy bien eso...
Pero muchas gracias de nuevo...
Para añadir más campos solo tienes que entrar en la web de lycos y validarte, luego vas a herramientas online, y en php4u seleccionas administrar base de datos. Se abre una ventana de phpmyadmin que es un programa que te permite crear y modificar tablas, así como insertar/modificar/borrar datos de las tablas. Desde ahí solo tienes que seleccionar la tabla Usuarios y tendrá alguna opción para modificarla y añadirle campos.
Una vez que cambies la base de datos también tienes que cambiar el código para usar esos nuevos campos.
Respecto a que no funcionaba bien era debido a que en un script se me pasó un detalle, tenia puesto que si no estaba definida una variable fuese a registro.php cuando en realidad tenia que ir a 1.php. Ya está solucionado.
Una vez que entras en www.tripod.lycos.es y te validas, a la izquierda pulsas Herramientas online, entras en el apartado de php4u, y pulsas en Administrar base de datos. Se abre una nueva ventana con phpMyAdmin. Ahí tienes que seleccionar la tabla Usuarios que tienes a la izquierda. Te aparece a la derecha todos los campos que tiene esa tabla. Y si bajas un poco veras un apartado que pone "Insertar nuevo campo". Ahí tienes que poner el número de campos que quieres insertar y pulsas sobre el botón Siga. Te aparece una tabla donde tienes que escribir el nombre de los campos, el tipo, etc. Por lo general basta con que pongas el nombre y en tipo si es número pones INT o BIGINT, y si es texto poner VARCHAR o CHAR. También debes especificar el tamaño, es decir, el número de caracteres que quieres que se puedan almacenar. Donde pone NOT NULL puedes poner NULL, que significa que ese campo no es imprescindible y puede estar vacío. Y por último le das grabar y ya has terminado. Ahora solo te queda rellenar los datos y cambiar el ódigo php para que use esos nuevos campos.
Otra vez soy yo, muchas gracias de nuevo ya mero acabamos...
Sigo teniendo el problemma no puedo agregar más campos a la tabla de luiscarpio, quiero agregar dirección de correo, dirección de domicilio teléfono, etc. a la hora de modificar, solo me parece la opción de grabar pero en ningún lugar veo donde insertar el nuevo campo... y luego me aparecen que tipo de formato va hacer el campo me imagino! Eso de password, función, etc..
Gracias por tu ayuda no sabes cuanto te lo agradezco...
Hola, otra vez soy yo, disculpame por no haberte seguido preguntando es que no tenia internet,...
Oye sigo con el mismo problema, nada más que me urge, no habrá una manera de que el código ya este hecho, ¿solo para cambiarle la base de datos y ponerle la mía?
Ya me estoy desesperando, no puedo hacer lo que quiero, ¿tu no tienes códigos ya hechos? Es que la verdad no se como agregar códigos nuevos.
Espero que ue me puedas ayudar por favor y gracias.
Gracias por contestar después de tanto tiempo sin preguntar...
Oye, ya prove varios, y si funcionaron, pero ahora tengo otro problema, tengo esta página www.villahidalgo.com.mx, tengo un tagbar que me ofrece mi arroba, pero tengo muchos problemas, ponen puros mensajes de malas palabras, etc. Yo quisiera saber como le puedo hacer para que puedan dejar su mensaje estén registrados, que solamente los registrados puedan dejar su mensaje. ¿Me explico? Me imagino que también debe de haber un registro para que se registre y una vez registrado algo para el tagbard, y creo que ya no seria el de mi arroba sino uno en php. ¿Eso es correcto? Espero que me puedas ayudar...
¿Finalizo esta pregunta para preguntarte en otra o así le seguimos?
Existen multitud de scripts ya realizados, pero tienes que buscar uno que se ajuste a tus necesidades. Una web muy buena al respecto es la siguiente:
http://www.hotscripts.com/PHP/Scripts_and_Programs/User_Authentication/index.html
Ahí encontrarás muchos scripts, algunos muy complicados y otros muy sencillos. Todos están listos para su uso y te explican cómo instalarlos y configurarlos en caso de que sea necesario.
De entre todos ellos, quizá los que mejor te puedan servir son algunos de estos:
Lite Login System
VAuthenticate
VSignup
PHP Logon Script
PHP Login System
Leete las características de todos los que aparecen en la web y cuando encuentres uno que cumpla tus requisitos, te lo descargas y lo pruebas.
Necesitas tener una página que pida el usuario y contraseña. Una vez rellenado por el usuario se tiene que validar buscándolos en una base de datos y si son correctos se da acceso a la página que contiene el tagbar.
El código de entrada que pide usuario y contraseña sería el siguiente:
<?php
session_start();
if (isset($_POST['usuario'])) {
$iddb = mysql_connect('localhost', '', '');
mysql_select_db("BaseDatos", $iddb);
$consulta = "SELECT * FROM Usuarios WHERE Usuario = '{$_POST['usuario']}' AND Contrasenia = '{$_POST['contrasenia']}'";
$datos = mysql_query($consulta);
if (mysql_num_rows($resultado) > 0) {
header("Location: pagina_principal.php");
} else {
echo "ERROR: no se ha validado correctamente. Usuario o contraseña invalidos.";
}
} else {
echo "<form name='formulario' method='POST'>";
echo "Cedula: <input type='text' name='usuario'> <br>";
echo "Clave: <input type='password' name='contrasenia'> <br>";
echo "<input type='submit' value='Validar'>";
echo "</form>";
}
?>
En ese código puedes ver que se conecta a una base de datos llamada BaseDatos y busca en la tabla Usuarios el usuario y contrasenia escritos en el formulario. Si coinciden pasa a la página que contiene el tagbar y sino muestra error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas