Foros del Web » Programando para Internet » PHP »

Consulta Sobre como recargar un Formulario en PHP

Estas en el tema de Consulta Sobre como recargar un Formulario en PHP en el foro de PHP en Foros del Web. Bueno antes que nada muchas gracias ya que hasta ahora me salvaron con muchas respuestas. Ahora tengo este pequeño o gran problema: el tema es ...
  #1 (permalink)  
Antiguo 24/06/2004, 07:15
 
Fecha de Ingreso: diciembre-2003
Mensajes: 17
Antigüedad: 20 años, 4 meses
Puntos: 0
Consulta Sobre como recargar un Formulario en PHP

Bueno antes que nada muchas gracias ya que hasta ahora me salvaron con muchas respuestas. Ahora tengo este pequeño o gran problema: el tema es que tengo un formulario de carga hecho con combos enlazados, este formulario carga fotografias según numero de dvd y a su ves según trabajo que esta grabado en el dvd todo esto lo carga en una base de datos hecha en Mysql. Lo que a mi me gustaría hacer es que la carga sea constante que quiero decir con esto que cuando un submit (se cargue la foto obviamente) pero que automaticamente vuelva al mismo formulario de carga con el numero de dvd y nombre de trabajo anterior. Esto me permitiría por ejemplo cargar 20 fotos seguidas sin necesidad de hacer un link con JavaScript volver o que cargue directamente un JavaScript para volver atras. Eso es lo que usaba anteriormente pero me salia que la pagina habia caducado y tenia que actualizar en el explorer. Aca les mando el codigo de mi formulario. Desde ya muchas gracias.

<?php
session_start();
if (empty($_SESSION['USUARIO'])){
header("Location: Login.php");}
elseif (($_SESSION['USUARIO']==1) or ($_SESSION['USUARIO']==2)){
?>
<?php
include("datos.inc");
if (isset($_POST['Agregar'])){
$servidor=conectar();
$categorias="";
if (isset($valor)){
$j=0;
for($i=0; $i<count($valor);$i++){
if (isset($vector[$i])){

if($vector[$i]=="on"){

$categorias[$j]=$valor[$i]; // En este vector categorias se encuentran las categorias seleccionadas para la foto almacenada
$j++;

}
}
}
}

$nombre = $_FILES["foto"]["name"];

$Numero_dvd= $_POST['Numero_dvd'];
$Trabajo=$_POST['Trabajo'];
verificar_existencia($Trabajo,$Numero_dvd,2);

//---------COMO LA ASOCIACION DE FOTOS LA HAGO POR NUMERO DE TRABAJO, OBTENGO EL NUMERO MEDIANTE SU EL NOMBRE DEL TRABAJO -----------//

//$sql="SELECT Numero_trabajo FROM Trabajo_carpeta WHERE Trabajo='$Trabajo'";
//$resultado=mysql_query($sql,$servidor);
//$Numero_trabajo=mysql_fetch_array($resultado,MYSQL _ASSOC);
//$Numero_trabajo=$Numero_trabajo['Numero_trabajo'];
verificar_repetido($Numero_dvd,$Trabajo, $nombre); // VERIFICO SI ESA FOTO YA EXISTE
//---------------------------------------------------------------------------//
$Descripcion= $_POST['Descripcion'];
$Observaciones=$_POST['Observaciones'];

$sql_1= "INSERT INTO Fotografias SET Numero_dvd='$Numero_dvd', Nombre='$nombre', Descripcion= '$Descripcion', Observaciones= '$Observaciones', Trabajo='$Trabajo'";
$resultado= mysql_query($sql_1,$servidor);
//verificar_insert($resultado);


$num_categorias=count($categorias);
$Id_fotografia=mysql_insert_id($servidor); //Obtengo el Id de la foto ingresada recientemente
if ($num_categorias==1){
$sql_3="INSERT INTO fotografia_categoria SET Id_fotografia='$Id_fotografia', Nombre= '$nombre', Id_categoria='0', Numero_dvd='$Numero_dvd', Trabajo='$Trabajo'";
$resultado=mysql_query($sql_3,$servidor);
//verificar_insert($resultado);
echo"<script languaje='JavaScript '>
location.reload()
</script>";




}
else{
for ($i=0; $i<$num_categorias;$i++){

$sql_3="INSERT INTO fotografia_categoria SET Id_fotografia='$Id_fotografia',Nombre= '$nombre', Id_categoria='$categorias[$i]', Numero_dvd='$Numero_dvd', trabajo='$Trabajo'";
$resultado=mysql_query($sql_3,$servidor);
// verificar_insert($resultado);

echo"<script languaje='JavaScript '> //Este es el JavaScript
location.reload() //para recargar mi formulario
</script>";










}
}

}else{

?>

<html>
<head>
<title>FORMULARIO ALTA FOTOGRAFIA</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<h2> ALTA FOTOGRAFIA</h2><hr>

<?php

$servidor= conectar();


if (isset ($_POST['Numero_dvd']))
$id_padre=$_POST['Numero_dvd'];
// Inicio Formulario .. PHP_SELF enviamos a si mismo (a este script).

echo "<form name= 'alta_fotografia' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='POST'>";

// Formar Selec "Padre".
// echo"<center>";
echo"<table>
<tr><td>
Número de dvd:</td>";
echo "<td><select name='Numero_dvd' onChange='this.form.submit()'>";
echo "<option value>Seleccione un dvd</option>\n";

$SQLconsulta_padre="SELECT * FROM dvd";
$consulta_padre = mysql_query($SQLconsulta_padre,$servidor) or die(mysql_error());

while ($registro_padre=mysql_fetch_assoc($consulta_padre )){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($id_padre == $registro_padre['Numero_dvd']){
echo "<option value=\"".$registro_padre['Numero_dvd']."\" selected>".$registro_padre['Numero_dvd']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['Numero_dvd']."\">".$registro_padre['Numero_dvd']."</option>\n";
}
}
echo "</select></td></tr>";

mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.

// Formar Select "Hijo"

echo"<tr><td>
Trabajo:</td>";
echo "<td><select name='Trabajo'>";

// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opcion del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_padre)){

$SQLconsulta_hija="SELECT * FROM Trabajo_carpeta WHERE Numero_dvd='$id_padre'";
$consulta_hija = mysql_query($SQLconsulta_hija,$servidor) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_hija) != 0){
While ($registro_hija=mysql_fetch_assoc($consulta_hija)) {
echo "<option value=\"".$registro_hija['Trabajo']."\">".$registro_hija['Trabajo']."</option>\n";
}
} else {
echo "<option value> No hay registros para este Item </option>";
}
} else {
echo "<option value>Seleccione un Trabajo</option>";
}

mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.

echo "</select></td></tr>
";
//echo"</center>";
?>



<tr>
<td>Número de toma: </td>
<td><input type ="file" name="foto"></TD>
</tr>
<tr>
<td>Descripción: </td>
<td><textarea name="Descripcion" cols="50" rows="3"></textarea></TD>
</tr>
<tr>
<td>Observaciones: </td>
<td><textarea name="Observaciones" cols="50" rows="3"></textarea></td>
</tr>
<tr>
<tr>
<td height="32">Categorias:</td>
<td><p>

<?php // Este script genera las categorias por foto y gruarda en un vector las categorias seleccionadas por foto
$servidor= conectar();
$sql="SELECT Id_categoria, Descripcion FROM Categorias";
$resultado=mysql_query($sql,$servidor);
$num_filas=mysql_num_rows($resultado);

for ($i=0;$i<$num_filas;$i++){
$Descripcion[$i]=mysql_result($resultado,$i,1);
$Id_categoria[$i]=mysql_result($resultado,$i,0);
print($Descripcion[$i]);


?>

<input type= "hidden" name= "valor[<?php print($i); ?>]" value= "<?php print($Id_categoria[$i]); ?>" >
<input type="checkbox" name="vector[<?php print($i);?>]">



<?php
}
?>

</p>
</td>
</tr>
<center>
</TABLE>

<p><a href="CATEGORIAS.php">Categorías</a></p>


<hr>


<INPUT type="submit" name="Agregar" value="Agregar">
<input type="reset" name="Agregar" value="Restablecer">
</center>
</form>

</center>
<table>

<tr><td><a href="Altas.php">Altas</a></td></tr>
<tr><td><a href="index.php">Principal</a></td></tr>
</table>
</body>
</html>
<?php
}
?>
<?php
}else header("Location: Login.php");
?>
__________________
Marcos Sayoni
  #2 (permalink)  
Antiguo 24/06/2004, 08:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm no he visto el código en detalle .. pero la técnica sería:

Al final del proceso que guardas tus datos en tu BD .. redireccinar automáticamente hacia tu formulario (scirpt que lo contenga) y pasandole por el URL (o en esas sesiones que ya usas mejor todavía) el valor de las variables que requieras.

Código PHP:
<?
//proceso ...
header ("Location: formulario.php?variable=$varible&otra_var=$otra_var");
exit;
?>
En tu formulario .. Los campos que tengas que pre-establecer ese valor .. usas los $_GET['variable'] en sus "value" (caso de los input) o en otro tipo de campos ver este mensaje: http://www.forosdelweb.com/showthrea...838#post717838)

Un saludo,
  #3 (permalink)  
Antiguo 25/06/2004, 09:45
 
Fecha de Ingreso: diciembre-2003
Mensajes: 17
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias

Bueno gracias Cluster, lo voy a probrar lo que pasa es que el metodo header() ya lo uso al principio y a veces lo que me tiraba es un error como que los heads ya habian sido cargados. Ah y otra consulta como decis que puedo usar el tema de las sessiones. Bueno desde ya muchas gracias.
__________________
Marcos Sayoni
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 03:38.