Foros del Web » Programando para Internet » PHP »

Problema con RAND y Form

Estas en el tema de Problema con RAND y Form en el foro de PHP en Foros del Web. Hola tengo un problemita. Tengo un Formulario para dejar un comentario al cual le aplico un sistema simple de verifiación de codigo. En el formulario ...
  #1 (permalink)  
Antiguo 06/10/2010, 23:56
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 13 años, 7 meses
Puntos: 5
Problema con RAND y Form

Hola tengo un problemita. Tengo un Formulario para dejar un comentario al cual le aplico un sistema simple de verifiación de codigo.

En el formulario muestro un numero RAND

Código PHP:
$numerito rand(1000,9999
El cual tienen que colocar ese numero en este input:

Código PHP:
<input name="nick2" type="text" size=20 maxlength=20 value="<?= $_POST['code']; ?>"></td>
Luego proceso el formulario en otro archivo así:

Código PHP:
<FORM NAME="miFormu" ACTION="proceso.php?codigo=numerito"
METHOD="POST"
Por lo poco q entiendo La variable $codigo pasa a tener el valor del numero RAND

Entonces Establesco esta condición:

Código PHP:
if($HTTP_POST_VARS["code"] != "$codigo")

die( 
header("location: error.php?id=1"));

Lo que intento interpretar es: Si CODE (es decir el valor q ingreso el usuario) no es igual a $codigo (que supuestamente tiene el valor del numero RAND) Termina el preceso y lleva al usuario a error.php, por lo tanto no se registro nada en la base de datos.

Mi problema: Cualquier numero que ponga, me lleva a la pagina de error.
Que puedo hacer?
  #2 (permalink)  
Antiguo 07/10/2010, 00:03
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Problema con RAND y Form

Tienes varias observaciones amigo....

Pero te digo las mas rapidas que puedo por que justo estoy por irme a dormir....

1. Cambia $HTTP_POST_VARS["code"] por $_POST["code"]
2. Cambia "$codigo" por $codigo
3. Cambia die( header("location: error.php?id=1")); por header("location: error.php?id=1");

Para terminar, estas preguntando por "code" en el post.. y creo que tu input se llama "nick2".
Y lo estas comparando con "codigo", asi que supongo que en tu formulario tendras el input "codigo" donde el usuario ingresa el codigo.

Nota. Seria bueno que pongas tu codigo exacto.
(Espero puedas resolverlo ^^)

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 07/10/2010, 00:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Problema con RAND y Form

Mira Gracias por responder a esta HS. Mañana lo pruebo y te Informo. Muchas gracias por tu atención.
  #4 (permalink)  
Antiguo 07/10/2010, 01:17
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con RAND y Form

Otra cosa, en el action de form estas colocando "proceso.php?codigo=numerito"
cuando deveria ser proceso.php?codigo=<?php echo $numerito; ?>...

Ahora, cuando estas comparando el código tienes que hacerlo de esta forma...
Código PHP:
Ver original
  1. if($_POST["code"] != $_GET['codigo']) {
  2. }

Por ultimo, no le veo caso que pongas un código de verificación si al final muestras el código de verificación en el código fuente del formulario
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 07/10/2010, 12:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: Problema con RAND y Form

Gracias por comentar Nemutagk, pero puedo prevenir un poco a los noobs, con el intento de spamear.

Etiquetas: rand, formulario
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




La zona horaria es GMT -6. Ahora son las 09:56.