Después del piropeo os comento lo que me trae de cabeza: quiero hacer un sitio en php que muestre aleatoriamente un enlace de los que tengo guardados en mi base de datos. Está bastante mal hecho, ya que de momento experimento para ver que ventajas y defectos (o carencias) tiene el sistema que monto.
En primer lugar he creado la tabla y he colocado: id_enlace, user (que lo ha colocado), enlace y fecha (para posteriores funcionalidades)
De forma temporal para enviar los enlaces he creado una forma poco ortodoxa y segura de hacerlo. Mediante un .php que retiro del servidor para proteger la db, los envío a la misma:
Código PHP:
<?php
/* prosesamiento de los datos */
// verificamos si ha sido enviado el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// verificamos que el formulario
// no venga vacio
if(!empty($_POST['user']) && !empty($_POST['enlace'])){
echo "Enlace subido!";
//MUY SUCIO, LO SÉ XD
echo '<meta http-equiv="Refresh" content="1"; url="/******.php" />';
// creamos las variables a usar en la consulta
// y le asignamos sus valores
$user = htmlentities(trim($_POST['user']));
$enlace = htmlentities(trim($_POST['enlace']));
$fecha = date("d-m-Y H:i:s",time()+21900);
// la consulta INSERT
$sqlInsert = mysql_query("INSERT INTO enlaces (user, enlace, fecha)
VALUES ('$user', '$enlace', '$fecha')", $link)
or die(mysql_error());
}else{
echo "Debe llenar todos los campos";
}
}
?>
//
/* fin del proseso de datos */
?>
<!-- el formulario -->
<form name="html" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Usuario: <input type="text" name="user" />
</p>
<p>
Enlace: <input type="text" name="enlace" />
</p>
<input type="submit" name="enviar" value="Enviar" />
</form>
</div></pre>
Me faltaría rehacerlo mejor, y poner seguridad, mediante login para que sólo admins puedan acceder a dichos envíos de enlace.
Posteriormente he hecho el siguiente random:
Código PHP:
<?php
$sql = mysql_query("SELECT * FROM $tabla", $link) or die( "Error en query: $sql, el error es: " . mysql_error() );
//Sacamos el total de filas
$total = mysql_num_rows($sql);
//Random
srand((double)microtime()*100000);
//Sacamos un numero al azar entre el 1 hasta el numero total de filas
$random = rand(1,$total);
$query = mysql_query("SELECT * FROM $tabla WHERE ID_enlace='$random'") or die( "Error en query: $sql, el error es: " . mysql_error() );
$row = mysql_fetch_array($query);
//Ahora sacamos el enlace que se escogio al azar
$enlace = $row["enlace"];
//Echo, mostramos
$enlace = $row["enlace"];
?>
Cual es el problema?: Ahora toca actualizar la web para hacer aleatorio y me da la sensación de que no es la forma correcta de hacerlo. Además, es posible que luego me interese dar acceso a un determinado enlace, (tipo blog. p ej: enlace con id=3) como podría hacerlo? Mediante GET???
Como véis todavía estoy bastante verde, pero le intento dedicar tiempo leyendo artículos, vuestros razonamientos, etc
Muchas gracias por vuestra atención, de verdad.
Un saludo