elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Empezando de 0 con MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Empezando de 0 con MySQL  (Leído 2,410 veces)
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Empezando de 0 con MySQL
« en: 13 Noviembre 2012, 18:19 »

Hola amigos, pues bien no se nada de MySQL y necesito algo de información a ver como puedo usar MySQL para poder algunas cosas que tengo que hacer, como por ejemplo en PHP un formulario que envie a la base de datos algo que luego lo lea otro PHP y lo identificque, exactamente algo así como lo  lista de juegos de Minijuegos.com yo quiero hacerlo pero claro no se nada, y como todo necesito algo de informacion de como hacer edso especifico, no me quiero ir a por las ramas, si tengo alguna duda os pregunta´re pero ahora l oque quiero saber es:

¿Cómo puedo hacer un sistema de posteo (formulario) que haga una descripcion y un titulo y todo eso que vaya a una base de datos y luego otro PHP lo lea?

AH! y ademas, uso xampp y tengo una base de datos que creo que se llama smf y sus tablas smf_ pero claro ya nose como crear tablas mysql con php (creo que lo vi por ahi, pero ya no recuerdo) y todo eso.

Así que bueno, si e pueden hacer un mini tutoiral de los codigos que tengo que hacer, (y todo eso lo pusieran con // (comentarios) para explicar todo me vendria de pm, ya que no se mucho PHP, ya que lo mucho que se es algunas variables para hacer pro ejemplo index.php?id=x y que se meuestre algun texto, y los echos''; y poca cosa más.

Aparte también cuando le de al enlace del juego que se abra otra ventana o una pestaña y que salga eso index.php?id= y que se abra el juego cno esa id, algo asi a lo Minijuegos.com

que es lo que voy a hacer.
Gracias y un saludo.

PD: Si no me lei los tutoriales, necesito algo sencillo y entendible.


« Última modificación: 13 Noviembre 2012, 18:21 por Seazoux » En línea


Interesados hablad por Discord.
Zume-Zero

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Empezando de 0 con MySQL
« Respuesta #1 en: 15 Noviembre 2012, 00:17 »

Algo sencillo y entendible es crear formularios, yo uso el mysql de un vps y bueno aprendí el uso de MySQL (no completo, aún soy un newbie) creando formularios, aquí te dejo una guía:

1)Primero Debemos Crear Una Base En Mysql Y Ejecutar La Siguiente Consulta


Código:
CREATE TABLE `miembros` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`user` VARCHAR( 32 ) NOT NULL ,
`pass` VARCHAR( 32 ) NOT NULL ,
`email` TEXT NOT NULL,
`activada` BOOL NOT NULL ,
`cod_act` VARCHAR( 32 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) ENGINE = MYISAM ;

Para ingresar a phpmyadmin debes tener activo el MySQL de xampp ingresar como por ejemplo: localhost/phpmyadmin ó 127.0.0.1/phpmyadmin etc..

2)Ahora Pasamos A Los Archivos En Si.

Conexion.php


Código:
<?php
//aca iniciamos la conexion dando los parametros server,user,password
mysql_connect("TU SERVER","TU USER","TU PASS");

//aca seleccionamos la base creada
mysql_select_db("NOMBRE DE LA BASE CREADA");


//creamos una funcion para cifrar en md5 valores como pueden ser el password,etc
function cifrar($valor){
    $cifrado = md5($valor);
    return $cifrado;
}


//creamos una funcion para facilitar el envio por mail del link de la validacion de cuenta.
function enviar_mail($email,$user,$cod_act)
{
$destinatario = $email;
$asunto = "Validación De Cuenta En **********";
$cuerpo = "
Para Completar Su Registro Debe Acceder Al Siguiente Enlace.
http://localhost/validar.php?user=$user&cod=$cod_act";
mail($destinatario,$asunto,$cuerpo,$headers);
}

?>


Index.php

Código:
<?php
//aca incluimos el archivo conexión.php para establecer la conexion y poder tener acceso a las funciones antes creadas.
include('Conexion.php');

//iniciamos la informacion de sesion.
session_start();

//si $_SESSION['usuario'] esta definido, por lo que estara logueado lo redirigimos a main.php
if(isset($_SESSION['usuario'])){
    header("Location: main.php");
}

//creamos el formulario de login y registro
echo'<div id="loginbar"><form method="POST" action="Login.php">
Usuario: <input type="text" name="userlog" id="userlog">
Contraseña: <input type="text" name="passwordlog" id="passwordlog">
<input type="submit" value="Login"></form><div id="resultadologin" style="display: inline; margin-left: 5px;color:red;"></div>

<form method="POST" action="Registrar.php" style="float:right;">
Usuario: <input type="text" name="user" id="user">
Contraseña: <input type="text" name="password" id="pass">
Email: <input type="text" name="email" id="email">
<input type="submit" value="Registrarse">
<div id="resultadoregistrar" style="display: inline; margin-left: 5px;color:red;"></div></form></div>';
?>


Registrar.php

Código:
<?php
//incluimos el archivo conexion.php para establecer la conexion y tener acceso a todas las funciones declaradas
include('Conexion.php');

//recogemos mediante POST los datos de user,password y email y los almacenamos en variables
$user = $_POST['user'];
$pass = $_POST['password'];
$email = $_POST['email'];

//si la variable del user,password o email se encuentran vacias damos mensaje que se deben completar todos los campos y detenemos la ejecucion del script.
if(empty($user) || empty($pass) || empty($email)){
    echo'Debe Completar Todos Los Campos';
    die();
} else {

//si la condicion anterior es falsa, ciframos el user y pass con MD5, y generamos un codigo al azar de 16 digitos el cual sera usado para la activacion de la cuenta
    $user=cifrar($user);
    $pass=cifrar($pass);
    $cod_act = substr(md5(rand()),0,16);
}

//selecionamos de la tabla miembors donde user sea igual a la variable user
$comprobacion = mysql_query("SELECT user FROM miembros WHERE user = '$user'");

//si el numero de columnas devueltos es mayor de 0, significa que ya existe el usuario,entonces le informamos que elija otro nick
if(mysql_num_rows($comprobacion) > 0){
    echo'Nick En Uso elige Otro';

//si lo anterior es falso, hacemos la misma comprobacion pero esta vez con el email y en caso de ser verdadera se lo informamos.
} elseif(mysql_num_rows(mysql_query("SELECT user FROM miembros WHERE email = '$email'")) > 0){
    echo'Email En Uso elige Otro';
    } else {

//si todo lo anterior es falso, significa que podemos registrar el user, insertamos en la tabla miembros, en los campos user:variable user, pass:variable pass, email:variable email,activada:0, ya que la cuenta no esta activada ( perdon la redundacia), y en cod_act el codigo generado para la activacion.
    $agregar=mysql_query("INSERT INTO miembros (user,pass,email,activada,cod_act) VALUES ('$user','$pass','$email',0,'$cod_act')");
    if($agregar){
//si se agrega correctamente damos un mensaje de que se registro con exito y llamamos a la funcion enviar_email definida en conexion.php con los parametros email,usuario, y codigo de activacion
        echo'Te Has Registrado Con Exito, Activa Tu Cuenta Para Jugar';
        //echo"http://localhost/validar.php?user=$user&cod=$cod_act";
        enviar_mail($email,$user,$cod_act);
    }else{
//en caso de no poder insertar el nuevo usuario dejamos un codigo de error.
        echo'Hubo Un Error Al Intentar Registrarte, Intentalo De Nuevo';
    }
}
?>


Validar.php


Código:
<?php
//incluimos conexion para establecer la conexion con la base y usar las funciones antes declaradas.
include('Conexion.php');

//recogemos mediante GET el valor MD% del user y el codigo de activacion y lo almacenamos en variables
$user = $_GET['user'];
$cod = $_GET['cod'];

//consultamos a la base los campos user,cod_act de la tabla miembros donde user sea igual a la variable user, cod_act sea igual a la variable cod_act y activada sea igual a 0
$validar = mysql_query("SELECT user,cod_act FROM miembros WHERE user='$user' AND cod_act = '$cod' AND activada = 0");

//si el numero devuelto de columnas es 0 significa que ya valido la cuenta, entonces damos mensaje de esto.
if(mysql_num_rows($validar) == 0){
    echo'Ya Validaste Tu Cuenta';
}else{

//en caso de ser falso lo anterior, cambiamos el valor activada a 1 donde user sea igual a la variable user de la tabla miembros
    $activar = mysql_query("UPDATE miembros SET activada=1 WHERE user = '$user'");
     
    if($activar){
        echo'Cuenta Activada Con Exito, Ya Puedes Jugar';
// si se cambia con exito, se muestra un mensaje informandolo
    }else{
//de no ser asi tambien se lo informa
        echo'Error Al Intentar Activar La Cuenta';
    }
}
?>


Login.php


Código:
<?php
//incluimos conexion.php y almacenamos en variables los datos pasados por POST que son user y pass
include('conexión.php');
$user=$_POST['userlog'];
$pass=$_POST['passwordlog'];

//si la variable user esta vacia le informamos que debe completar el campo.
if(empty($user)){
    echo'Debe Colocar El User';
    die();
}

//al igual lo hacemos con la pass.
if(empty($pass)){
    echo'Debe Colocar La Contraseña';
    die();
}

//ciframos el user y la pass para poder hacer la comprobacion en la base y almacenamos en la variable usermostrar el nombre del user actual.
$usermostrar=$user;
$user=cifrar($_POST['userlog']);
$pass=cifrar($_POST['passwordlog']);

//seleccionamos activada de la tabal miembros donde user sea igual a la variable user y pass sea igual a la variable dada
$loguear = mysql_query("SELECT activada FROM miembros WHERE user = '$user' AND pass = '$pass'");

if(mysql_num_rows($loguear) == 0){
//si devuelve 0 columnas significa que el user o el pass son incorrectos asi que se lo informamos y detenemos el script
    echo'Usario O Clave Invalida';
    die();
}

//almacenamos en un array loguear2 el valor de los campos devueltos por la consulta loguear.
$loguear2 = mysql_fetch_assoc($loguear);

if($loguear2['activada'] == 0){
    echo'Debe Activar Su Cuenta Para Poder Jugar';
//si activada, que es el campo que seleccionamos es 0, informamos que debe activar su cuenta para poder usarla
}else{

//en caso de no ser asi, iniciamos los datos de sesion y almacenamos en ella el nombre del user actual y su valor en MD5,luego redirigimos al main.php y asi seria como el user estaria logueado.
    session_start();
    $_SESSION['usuario'] = $usermostrar;
    $_SESSION['usuariomd5'] = $user;
        header("Location: main.php");     
}
?>


Main.php

Código:
<?php
//iniciamos datos de sesion y comprobamos que este definida la variable usuario, en caso de no estarlo dirigimos al index, pero en caso de estarlo, "imprimimos" un boton de deslogueo y una imagen con texto a modo ilustrativo.
session_start();
if(!isset($_SESSION['usuario'])){
    header("Location: index.php");
     
}else{
include('Incluir.php');
    echo '<a href="salir.php" title="Cerrar Sesión"><img src="/Images/close.png" align="right"></a>
    <img src="Images/money.png"><b>100</b>
    Mis Lugares';
}


?>


Salir.php


Código:
<?php
//iniciamos datos de sesion
session_start();

//si no esta definido la variable usuario dirigimos al index
if(!isset($_SESSION['usuario'])){
    header("Location: index.php");
}else{

//en caso de estar definida destruimos todos los datos de sesion y dirigimos al index
    session_destroy();
    header("Location: index.php");
}
?>


En línea

z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Empezando de 0 con MySQL
« Respuesta #2 en: 18 Noviembre 2012, 20:15 »

Si tengo ya una base de datos creada (ya que uso Spirate) el prefijo es "smf_" que se supone que tengo que hacer?

PD: Esto no es para hacer un registro, yo quiero hacer un sistema de posteo con IDs y todo eso, a lo tipo minijuegos.com, ya sabes una lista de juegos, con flash, descripcion, titulo, thumbail, controles, etc....
« Última modificación: 18 Noviembre 2012, 20:17 por Seazoux » En línea


Interesados hablad por Discord.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.703


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Empezando de 0 con MySQL
« Respuesta #3 en: 19 Noviembre 2012, 06:04 »

Con lo del prefijo, supongo que sera una variable estatica, que se antepone a cada tabla, o no?
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Empezando de 0 con MySQL
« Respuesta #4 en: 19 Noviembre 2012, 21:24 »

Ehm, exactamente no se que es, pero me parece que es como se llama la tabla, usa Spirate instalalo en xampp y mira lo que te digo, gracias, :P
En línea


Interesados hablad por Discord.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Empezando
Electrónica
negutxu 1 1,587 Último mensaje 12 Marzo 2006, 23:06
por Джордж
empezando...con vb « 1 2 »
Programación Visual Basic
saliaz 11 2,620 Último mensaje 6 Julio 2007, 19:16
por Nakp
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines