Foros del Web » Programando para Internet » PHP »

array bidimensional, recarga de página

Estas en el tema de array bidimensional, recarga de página en el foro de PHP en Foros del Web. Tengo un formulario con dos textarea $campo1 $campo2 en la página propias.php. También tengo 4 botones: Nuevo: Tiene que dejar el form vacio, y volver ...
  #1 (permalink)  
Antiguo 08/01/2008, 05:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
array bidimensional, recarga de página

Tengo un formulario con dos textarea $campo1 $campo2 en la página propias.php.
También tengo 4 botones:

Nuevo: Tiene que dejar el form vacio, y volver a cargar la página

agregar: Tiene que guardar $campo1 y $campo2 en un array y volver a cargar la página, llevandose el array para no perder los datos.

modificar: A través de dos flechas nos movemos por el array y se selecciona el elemento que queremos en el array y se modifica y volver a cargar la página, llevandose el array para no perder los datos.

borrar: A través de dos flechas nos movemos por el array y se selecciona el elemento que queremos en el array y se borra y volver a cargar la página, llevandose el array para no perder los datos.

No consigo declarar bien el array, como tengo que crearla y luego moverme por ella sin perderla cada vez que se actualiza la página.

Un saludo y gracias
  #2 (permalink)  
Antiguo 08/01/2008, 07:38
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: array bidimensional, recarga de página

Podes usar sessiones:

Código PHP:
<?php
session_start
();

//Solo si es la primera vez que entras, creas el arreglo.
if(!isset($_SESSION['miVar']))
{
       
$_SESSION['miVar'] = array();
}

//Luego usas $_SESSION['miVar']  para trabajar y hacer las altas, bajas y modificaciones.


session_close();
?>
Te recomiendo que busques un poco de info sobre sessiones para aclarar tus dudas, basicamente te permiten mantener variables entre paginas, aunque se recarguen.

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 08/01/2008, 10:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: array bidimensional, recarga de página

Lo estoy haciendo con session como me has dicho, pero a la hora de moverme por el array, me da error en la página.

MI ARRAY:
$_SESSION["$campo1"];

RECORRO Y ME DA ERROR, utilizo estas funciones:
prev($_SESSION["$campo1"])
next($_SESSION["$campo1"])

estoy atascadísima
  #4 (permalink)  
Antiguo 08/01/2008, 10:40
Avatar de K-Yezaad  
Fecha de Ingreso: octubre-2005
Mensajes: 140
Antigüedad: 18 años, 6 meses
Puntos: 3
Re: array bidimensional, recarga de página

POdrias poner el codigo completo para ver que esta saliendo mal?
  #5 (permalink)  
Antiguo 09/01/2008, 01:42
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
codigo de página

La verdad es que no se como tengo que hacerlo, este es el código:


<? session_start();?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilos.css" rel="stylesheet" type="text/css">

<SCRIPT language="Javascript">
function recarga(valor) {
document.formulario.action="propias.php?volver="+v alor
document.formulario.submit();
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</SCRIPT>
</head>

<body onLoad="MM_preloadImages('imagenes/arriba2.jpg')">

<? include ("conexion.php"); ?>
<?
if(empty($campo1)){
$c=" ";
$d=" ";
$indice=0;
}

if (!empty($_GET["volver"])){
$volver=$_GET["volver"];
$campo1=$_POST["pregun"];
if(!isset($_SESSION["$indice"]["$campo1"])){

$_SESSION["$indice"]["$campo1"] = array();
pruebas_propias($volver,$indice);
}else{

pruebas_propias($volver,$indice);
}
}

?>
<div id="contenedor">
<div id="cabecera"><h1>GENERADOR DE PRUEBAS</h1></div>
<div id="asignatura"><h2>Selecciona Asignatura</h2> </div>
<div id="contenido">

<form name="formulario" method="post" action="propias.php">

<div id="menupropias">
<p><a href="javascript:recarga(1)">nueva</a></p>
<p><a href="javascript:recarga(2)">agregar</a></p>
<p><a href="javascript:recarga(3)">modificar</a></p>
<p><a href="javascript:recarga(4)">borrar</a></p>

</div>
<div id="txtpropias">
<label for="pregun">ACTIVIDAD - numero/<? echo count($_SESSION);?></label><br/>
<textarea name="pregun" cols="40" rows="6"><? echo $c;?></textarea>
<br/>
<label for="resp">SOLUCIÓN</label><br/>
<textarea name="resp" cols="40" rows="6"><? echo $d;?></textarea>
</div>
<div id="flechas">
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('arriba','','imagenes/arriba2.jpg',1)"><img src="imagenes/arriba1.jpg" name="arriba" width="23" height="24" border="0" onClick=""></a>
<br/> <br/> <br/> <br/> <br/> <br/><br/> <br/> <br/> <br/> <br/> <br/>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('abajo','','imagenes/abajo1.jpg',1)"><img src="imagenes/abajo1.jpg" name="arriba" width="23" height="24" border="0" onClick=""></a>
</div>
<div id="borrar"></div>


</div>
<div id="pie">
<div id="menu">

<a href="javascript:history.go(-1)" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('atras','','imagenes/atras2.jpg',1)"><img src="imagenes/atras1.jpg" alt="Atrás" name="atras" width="31" height="31" border="0" id="atras" /></a>
<img src="imagenes/guardar1.jpg" width="31" height="31" />
<img src="imagenes/imprimir1.jpg" width="31" height="31" />
<img src="imagenes/propias1.jpg" width="31" height="31" /><img src="imagenes/definidas1.jpg" width="31" height="31" />

<a href= "examenes.php" onmouseOver="document.enviar.src='imagenes/pruebas2.jpg';" onmouseOut="document.enviar.src='imagenes/pruebas1.jpg';"><img name="enviar" src="imagenes/pruebas1.jpg"border="0" alt="Ver pruebas"></a>


<a href= "examenes.php" onmouseOver="document.enviar.src='imagenes/soluciones2.jpg';" onmouseOut="document.enviar.src='imagenes/soluciones1.jpg';"><img name="enviar" src="imagenes/soluciones1.jpg" border="0" alt="Ver pruebas con soluciones"></a>

<a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('ayuda','','imagenes/ayuda2.jpg',1)"><img src="imagenes/ayuda1.jpg" alt="Ayuda" name="ayuda" width="31" height="31" border="0" id="ayuda" /></a>
<a href="index.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('volver','','imagenes/volver2.jpg',1)"><img src="imagenes/volver1.jpg" alt="Volver al inicio" name="volver" width="31" height="31" border="0" id="volver" /></a>
<?
function pruebas_propias($volver,$indice){
if($volver==1){
$c="";
$d=""; }

if($volver==2){
$campo1=$_POST["pregun"];
$indice=$indice+1;
$_SESSION["$indice"]["$campo1"]=$_POST["resp"];
echo "ESTOY EN EL 2";
}
if($volver==3){
echo "ESTOY EN EL 3";
}
if($volver==4){
echo "ESTOY EN EL 4";

}
}
?>
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 18:11.