Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/08/2002, 08:27
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Re: como hago que unset funcione??

Bueno .. no todo el envio de variables se ha de hacer por GET o POST .. Se puede combinar estos dos metodos.

Para solucionar un poco tu problema .. deberias usar una variable extra que le indique que operacion debe realizar el script (o está realizando) .. algo asi como un "accion" .. y le asignas valor .. que usaras en tus condiciones "IF" para determinar si procesa los datos o muestra el formulario otra vez por ejemplo.

Como ya te han comentado .. el "unset" para las variables que usas ... descartalo por los motivos que te han explicado.

<?
if ($accion != "guardar"){
echo '<html> <head>';
echo '<title>ENTRADA</title>';
echo '</head><body>';
echo '<form action="prueba.php?accion=guardar" method="post">';
echo "<br>".'Matrícula: <input type="text" name="matricula">';
echo "<br>".'<input type="submit" name="Submit" value="Enviar">';
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
echo '</form>';
echo '</body></html>';
} else {
// aqui tu logica que procesa los datos del formulario ...
header("location: prueba.php"); // esto al terminar el proceso nos devuelve a la pagina que contiene el formulario .. o bien a una pagina "sus datos fueron procesados .." el caso es "salir de esta pagina" y evitar asi que los datos al darla al recargar se vuevan a enviar.
}
?>

Fijate en esta linea:
<form action="prueba.php?accion=guardar" method="post">
Se le está diciendo que envie las varibles por metodo POST .. pero a su vez le eviamos una por GET (accion) y ya hemos combinado dos metodos diferentes de envio GET y POST ...
(de igual manera los podias enviar todo por GET o POST .. (en caso de POST .. via un campo oculto en tu formulario ..).

Al usar un redireccionamiento tipo Location (en cabecera) .. como ya sabras no puedes usar ningun "echo" en ese apartado .. pero si necesitas por ejemplo mosrar un error .. lo que se suele hacer es pasarle como parametro a en tu caso pagina.php .. un parametro error .. y ahi lo gestionas


Un saludo,