[quote]Miguel dijo: Hola, estoy desarrollando un sitio y tengo que utilizar una variable en otra pagina al hacer clic al boton del formulario. He revisado y todo esta correcto. Llevo 3 dias y no logro encontrar mi error.
//Esta es lo de la primera Pagina:
<html>
<head>
</head>
<?php $variable=49+18;?>
<?php echo $variable?>
<form action="variable.php?a=<?php echo $variable?>" method="POST">
<input type="text">
<input type="submit" value="ver">
</form>
<a href="variable.php?variable=<?php echo $variable ?>">Enviar variable<a>
<body>
</body>
</html>
//Este es codigo de la segunda pagina
<?php
$variable = $_POST['variable'];
echo $variable;
?>
[/quote]
Hola Miguel
Analizando por encima tu código, veo que presenta varios detalles los cuales te enumero a continuación:
1. Falta el signo ; luego de la variable $variable en la línea 5.
2. Falta el signo ; luego de la variable $variable en la línea 6.
3. Falta el signo ; luego de la variable $variable en la línea 10.
4. Al enviar la información del formulario lo haces a través del método POST, pero la técnica usada para leer la variable a través del Hypervículo es de tipo GET, es decir, la etiqueta INPUT de tipo TEXT que usas no posee una NAME, y el archivo variable.php lo que espera es recibir una variable llamada "variable" y que sea de tipo POST. En resúmen, para solventar este punto colócale nombre a tu INPUT de tipo TEXT, y el archivo variable.php deberá leer el nombre de esa variable que colocaste.
5. Ahora bien, sigues de todos modos teniendo un problema de estructuración lógica por razón de lectura de variables, es decir, el Hipervínculo estructurado que usas se comporta bajo variables de tipo GET (y genera como resultado $_GET[variable]), pero el archivo variable.php lo que va a leer es una variable de tipo POST (que genera como resultado $_POST[variable]) y entonces al usar el hipervínculo da el error:
Notice: Undefined index: var in [file_path]variable.php on line 2
Para solventar esto (sin analizarlo mucho) lo que te recomiendo es que normalices un sólo método (GET o POST), a priori te digo que uses GET, ya que usas manipulación de URL´s.
Quedando los código así:
//index.php:
//////////////
<html>
<head>
</head>
<body>
<?php
$variable=49+18;
echo $variable;
?>
<form action="variable.php?a=
<?php
echo $variable;
?>
" method="POST">
<input type="text" name="variable"><input type="submit" value="ver">
</form>
<a href="variable.php?variable=
<?php
echo $variable;
?>
">Enviar variable<a>
</body>
</html>
//Variable.php
////////////////
<?php
$variable = $_GET['variable'];
echo $variable;
?>
angel_z... | Problema con Undefined variable or Undefined index PHP+ADODB+MYSQL
| 24/10/2011 |
Buenas tardes la presente es para ver si me pueden ayudar con un código de php ya que apenas estoy empezando a desarrollar en este ambiente web.
Estoy haciendo un sistema de registro de correspondencia, ya le habilite las "sesiones" hasta los momentos me funcionan" el sistema lleva un contador unico 1 ,2 ,3...n para cada correspondencia recibida, a su vez el mismo contador se concatena con el año 12011, 22011, 32011...n20nn para realizar trabajos de oficina internos (ellos siempre lo han usado y desean seguirlos utilizando) logre hacer los contadortes para que se los muestre al usuario, lo que sucede es que cuando voy a guardar me da un mensaje
Notice: Undefined variable:ContadorReciente1 in /var/www/html/corres/insertar.php on line 36 Call Stack: 0.0004 364804 1. {main}() /var/www/html/corres/insertar.php:0 Notice: Undefined variable: ContadorRecienteAnio in /var/www/html/corres/insertar.php on line 36 Call Stack: 0.0004 364804 1. {main}() /var/www/html/corres/insertar.php:0 Problemas con la insersi�n en la Base de Datos
Les adjunto el código del archivo insertar.php
<?php
date_default_timezone_set('America/Caracas');
$anio = date("Y");
$fecha = date("d/m/Y");
$hora= date('H:i:s');
//iniciamos la sesión ||
session_start();
//if($_SESSION["autenticado"]!='SI'){
if(($_SESSION["autenticado"]!='SI')||($_SESSION["nivel"]!='1')){
echo "<script language='JavaScript'> alert('Usted no esta autorizado...');</script>";
header("Location: home.php");
} else {
$fechaGuardada = $_SESSION["ultimoAcceso"];
date_default_timezone_set('America/Caracas');
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));
//comparamos el tiempo transcurrido
if($tiempo_transcurrido >= 600) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: home.php"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$_SESSION["ultimoAcceso"] = $ahora;
}
}
// hasta aca llegan las sesiones
if(isset($_POST["combo01"])){
include("./connection/connection.php");
$tabla="cor";
//////// PRUEBAS
//$sql="INSERT INTO ".$tabla."(cod,codyear,remitente,destinatario,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$_POST["XXXX"]."','".$_POST["b0"]."','".$_POST["b1"]."','".$_POST["b2"]."')";
//$sql="INSERT INTO ".$tabla."(cod,codyear,destinatario,remitente,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$ContadorRecienteAnio."','".$_POST["combo01"]."','".$_POST["b1"]."','".$_POST["b2"]."','".$_POST["b3"]."','".$_POST["b4"]."','".$fecha."','".$hora."','".$_SESSION["usuario_entrada"]."')"; $db->Execute($sql) or die("Problemas con la insersión en la Base de Datos");
//$sql="INSERT INTO ".$tabla."(cod,codyear,destinatario,remitente,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$ContadorRecienteAnio."','".$_POST["combo01"]."','".$_POST["b1"]."','".$_POST["b2"]."','".$_POST["b3"]."','".$_POST["b4"]."','".$fecha."','".$hora."','".$_SESSION["usuario_entrada"]."')"; $db->Execute($sql) or die("Problemas con la insersión en la Base de Datos");
//////// PRUEBAS
$sql="INSERT INTO ".$tabla."(cod,codyear,destinatario,remitente,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$ContadorRecienteAnio."','".$_POST["combo01"]."','".$_POST["b1"]."','".$_POST["b2"]."','".$_POST["b3"]."','".$_POST["b4"]."','".$fecha."','".$hora."','".$_SESSION["usuario_entrada"]."')"; $db->Execute($sql) or die("Problemas con la insersión en la Base de Datos");
echo ("Los datos fueron insertados exitosamente...");?>
<a href="javascript:history.back(1)">Anterior</a>
<?php
}else{?><center>
<table align="center" width="950" border="0">
<tr>
<td align="center"><?php echo "<font size='5' color='#000000'>Sistema de Control de Correspondencia</font> <font color='#0000CC'><b></b></font>";?></td>
<!--
Comentarios en Html
<td align="center"><?php echo "<font color='#000000'></font> <font color='#0000CC'><b>".$_SESSION["nombre_entrada"]." ".$_SESSION["apellido_entrada"]."</b></font>";?></td>
-->
<!--
<td align="left"><?php echo "<font color='#000000'>Usuario:</font> <font color='#0000CC'><b>".$_SESSION["usuario_entrada"]."</b></font>";?></td>
-->
<!--
<td align="left"><?php echo "<font color='#000000'>Fecha:</font> <font color='#0000CC'><b>".$fecha."</b></font>";?></td>
-->
<!--
<td align="left"><?php echo "<font color='#000000'>Hora:</font> <font color='#0000CC'><b>".$hora."</b></font>";?></td>
-->
<!--
<td align="right"><?php echo "<font color='#000000'>Nivel:</font> <font color='#0000CC'><b>".$_SESSION["nivel"]."</b></font>";?></td>
-->
</tr>
<tr>
<td align="center"><?php echo "<font color='#000000'>Fecha:</font> <font color='#0000CC'><b>".$fecha."</b></font>";?></td>
</tr>
<tr>
<td align="center"><?php echo "<font color='#000000'></font> <font color='#0000CC'><b>".$_SESSION["nombre_entrada"]." ".$_SESSION["apellido_entrada"]."</b></font>";?></td>
</tr>
</table>
<?php
include("./connection/connection.php");
$tabla1="cor";
$campo1="cod";
//$sql1="SELECT * FROM ".$tabla1." WHERE ".$campo1."'";
$sql1="SELECT * FROM ".$tabla1." WHERE ".$campo1;
$rs1=$db->Execute($sql1) or die($rs1->ErrorMsg());
?> <br>
<?php
function contadores(){
global $ContadorProximo1, $ContadorReciente1Anio;
}
?>
<?php
$Contador1 = 0 ;
while (!$rs1->EOF) {
$Contador1++
?>
<?php print $rs1->fields['0']; ?>
<?php
print $ContadorGuardado1=$rs1->fields['0'];
$ContadorReciente1=$Contador1+$rs1->fields['0'];
$ContadorReciente1Anio=$ContadorReciente1&$anio;
?>
<td><?php //echo "El ultimo registro guardado es: " .$ContadorGuardado1; ?></td>
<td><?php //echo "El proximo registro a guardar es: " .$ContadorReciente1 ?></td>
<td><?php //echo "El codigo mas el año es: " .$ContadorRecienteAnio ?></td>
<td><?php //echo "Muslito"; ?></td>
<!-- <td><?php // echo "El codigo mas el año es: " .$ContadorRecienteAnio=$ContadorReciente1&$anio; ?></td>
<tr>
<?php $rs1->MoveNext(); // para pasar al siguiente registro si no se usa siempre a mostra el mismo registro
//$_GLOBALS['variable']
}
?>
<?php
If (isset($ContadorGuardado1)==0)
{$ContadorGuardado1=0;}
++$ContadorGuardado1;
echo "Actualmente hay 0 Registros guardados, se empezará con el registro Número " .$ContadorGuardado1;
echo "<br>";
echo "<br>";
// echo "El proximo registro a guardar es: " .$ContadorRecienteAnio=$ContadorReciente1.$anio;
?>
<!--
<p align="center"> <?php echo "<font color='#000000'>Bienvenido:</font> <font color='#0000CC'><b>".$_SESSION["nombre_entrada"]." ".$_SESSION["apellido_entrada"]."</b></font>";?></p>
-->
<?php
//El resultado es impreso en pantalla, una línea por cada fila obtenida.
include("./connection/connection.php");
$i=0; //Este es el que me permite seleccionar el campo que deseo mostrar en la base de datos
$tabla2="destinatario";
$sql2="SELECT * FROM ".$tabla2;
$rs2=$db->Execute($sql2) or die($rs2->ErrorMsg());
//if ($result === false) die("failed");
while (!$rs2->EOF) {
// el for se utiliza solo para mostrar todo el contenido de la tabla de 0 a n, siendo 0 el primer campo de la tabla
//for ($i=0, $max=$rs2->FieldCount(); $i < $max; $i++)
//for ($i=0, $max=$rs2->FieldCount(); $i < $max; $i++)
print $rs2->fields[$i].' ';
$rs2->MoveNext();
print "<br>";
}
// ASI TAMBIEN RECORRE LA BD Y MUESTRA LA INFO
// $result = $db->Execute("SELECT * FROM destinatario");
// if ($result === false) die("failed");
// while (!$result->EOF) {
// for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
// print $result->fields[$i].' ';
// $result->MoveNext();
// print "<br>n";
// }
?>
<form name="formulario1" action="./insertar.php" method="POST">
<br>
Destinatario:   <select name="combo01"> <option value="<?php
include("./connection/connection.php");
//$i=0;
$tabla3="destinatario";
$sql3="SELECT * FROM ".$tabla3;
$rs3=$db->Execute($sql3) or die($rs3->ErrorMsg());
//print $rs3->fields['0'].' '.$rs3->fields['0'].'<BR>';
print $rs3->fields['0'].' '.'<BR>';
print $rs3->GetMenu('combo01',null,false);
// Se puede dejar estas lineas comentadas y tambien muestra la lista desplegable
//while (!$rs3->EOF) {
//print $rs3->fields[$i].' ';
//print $rs3->GetMenu('combo1',null,false);
//$rs3->MoveNext();
//print "<br>";
//}
//Hasta aca //////////////////////////
?>"></option>
</select><br>
Remitente:   <input name="b1"><br>
Número de Oficio:   <input name="b2"><br>
Contenido:   <input name="b3"><br>
Número de Teléfono:   <input name="b4"><br>
Observacion:   <input name="b5"><br>
<input type="SUBMIT" value="insertar">
<a href="javascript:history.back(1)">Anterior</a>
</form>
<?php }?>