Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2014, 09:16
AprendizPollito
 
Fecha de Ingreso: abril-2014
Mensajes: 26
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Como generar ID aleatorio en una base de datos

Cita:
Iniciado por Italico76 Ver Mensaje
Tu muestras el ID ofuscado en la URL y cuando te quieres devolver para con el parametro GET recuperar tus datos, usas la funcion inversa desofusca_key()
:O gracias por esa alternativa...

Como mi nombre lo dice... estoy aprendiendo aún. por eso me quedan 2 dudas :

1. Porque si usar un ID aleatorio y que no se repita en la BD no estan recomendable... entonces porque YOUTUBE y otra páginas superconocidas hacen lo mismo?? o es que no hacen necesariamente eso, sino, aplican algo parecido a lo que me haz puesto?

2. No me queda muy claro como implementarlo a mi formulario... me podrías hechar una mano?

Código PHP:
<?php
$editFormAction 
$_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO tblpagina (idPagina) VALUES (%s)",
                       
GetSQLValueString($_POST['idPagina'], "text"));

  
mysql_select_db($database_conexionshopnyx$conexionshopnyx);
  
$Result1 mysql_query($insertSQL$conexionshopnyx) or die(mysql_error());

  
$insertGoTo "pagina.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}
?>
Código HTML:
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  		<input type="hidden" value="idPagina">
  		<input type="submit" value="Crear categoría!" class="button">
  		<input type="hidden" name="MM_insert" value="form1">
	</form> 
Lo pongo en un input oculto el ID, porque quiero obviamente que este se cree y guarde automaticamente.