Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con variable POST

Estas en el tema de Problema con variable POST en el foro de PHP en Foros del Web. Hola. Ojala me puedan ayudar, tengo una página A, que hace una consulta a la base de datos, y despliega los resultados en un combobox. ...
  #1 (permalink)  
Antiguo 18/11/2014, 10:39
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema con variable POST

Hola.

Ojala me puedan ayudar, tengo una página A, que hace una consulta a la base de datos, y despliega los resultados en un combobox. Luego presiono el botón consultar y me lleva a otra página B, este es el código de la primera página
Código:
<?php
session_start();
require_once 'conexion.php';
$result = "";
$conn = dbConnect();
$combobox;

     // Create the query
$sql = 'SELECT codigo_proyecto,nombre_proyecto FROM proyectos_info';

    // we have to tell the PDO that we are going to send values to the query
$stmt = $conn->query($sql);

    // Extract the values from $stmt
$rows = $stmt->fetchAll();

?>
<html>
<head>
<title> Ingreso Datos Finales Proyectos </title> 
<link href="site.css" rel="stylesheet">
 </head>
 
<body>
<nav id="nav01"></nav>
<div id="main">
    <h1> Ingreso Datos Finales </h1>
		<form action="dfa_proyectos.php" method="post">
                seleccione proyecto
		    <select name="seleccione_proyecto">
                        <?php foreach ($rows as $row) {
                            echo '<option value="'.$row['codigo_proyecto'].'">'.$row['codigo_proyecto'].'</option>';
			}
			?>
                    </select>
		    <input type="submit" name="" value="Consultar"/>
		    <br><br>
		    
	<footer id="foot01"></footer>
	</div>
	</form>
	<script src="gscript.js"></script>
    </body>    
</html>
Este es el código de la segunda página, como se puede ver, toma el valor de la variable $_POST[seleccione_proyecto] como criterio para realizar la consulta

Código:
<?php
session_start();
$conn = mysql_connect("*","*","*");
mysql_select_db("gestion_proyecto",$conn);
?>
<html>
<head>
<title> Ingreso Datos Finales Proyectos </title> 
<link href="site.css" rel="stylesheet">
</head>

<body>
<?session_start(); ?>
<nav id="nav01"></nav>
<div id="main">
    <h1> Ingreso Datos Finales </h1>
    		<form action="dfb_proyectos.php" method="post">
		    
		    <? 
		    $result = mysql_query("SELECT * FROM proyectos_info where codigo_proyecto='$_POST[seleccione_proyecto]'");
		    
		    
    		    while($row = mysql_fetch_array($result)) {
		    echo "<b>Codigo Proyecto : </b>" .$row["codigo_proyecto"] . "<br>"; 
		    echo "<b>Nombre Proyecto : </b>" ,$row["nombre_proyecto"] . "<br>";
		    echo "<b>Presupuesto Inicial : </b>" ,$row["presupuesto"] . "<br>";
		    
		    }
		    echo '</select>';
		    echo 'Ingrese presupuesto final :';
		    echo '<input type="text" name="presupuesto_final">';
		    echo '<br><br>';
		    echo '<input type="submit" name="guardar" value="Guardar"/>';
		    echo " " .$_POST[seleccione_proyecto];
		    $codigo_proyecto =$_POST[seleccione_proyecto];
		    // echo "variable codigo" .$codigo_proyecto;
		    
		    //if (isset($_POST["guardar"])) {
                    echo "variable codigo" .$codigo_proyecto;
		    
		    // mysql_select_db("gestion_proyecto", $conn);
		    //$insert="update proyectos_info set presupuesto_final=$_POST[presupuesto_final] where codigo_proyecto=$_POST[seleccione_proyecto]";
		    //echo "insert = ".$insert;
		    //$ejecutar = mysql_query($insert);
	           //while($row2 = mysql_fetch_array($ejecutar)) {
		    //echo "Datos Registrados";
		    //header('Refresh:1;URL=gsubindex.php');
		    
		    
 ?>
		    <br><br>
	</form>	    
	<footer id="foot01"></footer>
	</div>
	<script src="gscript.js"></script>
    </body>    
</html>
Ahora, en este formulario tengo un textfield, que al hacer clic al botón, quiero que se lleve el valor ingresado en el textfield, y el valor de la variable $_POST[seleccione_proyecto] hacia una query en otro formulario, para que pueda realizar la query en el numero especifico de proyecto, sin embargo la query no alcanza a realizarse, puesto que cuando quiero hacer la query, no se realiza ya que el valor viene vacío, adjunto echo de la variable que realiza la consulta


--la consulta hacia la base de datos, es la siguiente :update proyectos_info set presupuesto_final='56' where codigo_proyecto=


Este es el codigo de la query

Código:
$sql="update proyectos_info set presupuesto_final='$_POST[presupuesto_final]' where codigo_proyecto=$row[codigo_proyecto]";
No es por un tema de formato, ya he descartado esto. Me imagino que debe ser algo asociado al trabajo de varibles y formularios, hace bastante tiempo que no programaba nada, por fuerza mayor de la universidad trabajo en esto

Ojala me puedan ayudar, de antemano, muchas gracias!!!
  #2 (permalink)  
Antiguo 18/11/2014, 14:34
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Problema con variable POST

La forma correcta de las etiquetas php
Código PHP:
Ver original
  1. <?php echo "Hola mundo"; ?>
La forma anticuada e incorrecta
Código PHP:
Ver original
  1. <? echo "Hola mundo"; ?>
Notas la diferencia?
  #3 (permalink)  
Antiguo 18/11/2014, 14:36
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Problema con variable POST

la consulta debe hacerse de la siguiente manera
Código PHP:
Ver original
  1. $sql="update proyectos_info set presupuesto_final="'.$_POST[presupuesto_final].'" where codigo_proyecto="'.$row[codigo_proyecto].'"
  #4 (permalink)  
Antiguo 18/11/2014, 14:37
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con variable POST

Hola!

si, claramente de hecho se que existen varios metodos incorrectos y deprecados en mis codigos, eso es porque lo rescate de distintas partes, sin embargo ¿podrá tener relación esta notación con mi problema?

Gracias!!!

oscurgot, gracias por tu sugerencia a al query, esta deberia hacerla en el tercer formulario ? o se mantiene la variable desde el primer formulario ?, ahora voy hacia la universidad y apenas llege a casa, te cuento, miles de gracias!!

Última edición por MarkLanegan; 18/11/2014 a las 14:41 Razón: no habia visto la segunda respuesta del usuario.
  #5 (permalink)  
Antiguo 18/11/2014, 14:48
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con variable POST

Estimado.

acabo de realizar la modificación que me dijiste, lamentablemente sigo perdiendo la variable, esto pasa tanto en el segundo formulario al hacer clic o en el tercer formulario, ¿tendrá algo que ver la forma en la que opera el botón?.

Nuevamente muchas gracias.-
  #6 (permalink)  
Antiguo 18/11/2014, 14:48
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Problema con variable POST

Primero tendria que ver que numero de error es el que te muestra luego podría decir en que estas fallando, la variable solo se mantienen si se guardan en $_SESSION si la mandas por post solo la recibira el archivo al cual lo estas dirigiendo.
  #7 (permalink)  
Antiguo 18/11/2014, 14:54
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Problema con variable POST

creo que tu problema es mas simple de lo que habia visto la variable se recibe asi
Código PHP:
Ver original
  1. $_POST['seleccione_proyecto'];
En resumen te estas comiendo las comillas
  #8 (permalink)  
Antiguo 18/11/2014, 19:28
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con variable POST

Hola.

Acabo de llegar, al hacerlo como me decias, sin embargo al hacerlo de esa manera, la pantalla se queda en blanco, sin desplegar nada, :/ , tambien intente poniendo todo el nombre de la variable afuera, pero sige pasando vacía.
  #9 (permalink)  
Antiguo 19/11/2014, 07:47
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con variable POST

Quizas, si paso la variable hacia un textield al segundo formulario, y desde ahí la paso al tercero?
  #10 (permalink)  
Antiguo 20/11/2014, 12:44
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Respuesta: Problema con variable POST

Finalmente pude solucionarlo utilizando la funcion $_SESSION.

Código:
session_start(); 
$_SESSION[codigoproyecto]=$_POST[seleccione_proyecto];
Finalmente descubrí que el problema era de la variable, $_POST[seleccione_proyecto] que al pasar del segundo al tercer formulario, se perdía el valor quedaba vacía, despues de intentar durante el tiempo libre, intenté probado con la variable $_SESSION.

Finalmente, funcionó!

Quedando la query del tercer formulario de la sigueinte manera:

Código:
$sql= "update proyectos_info set presupuesto_final = '$_POST[presupuesto_final]' where codigo_proyecto ='$_SESSION[codigoproyecto]'";
Comprobado en la BD que el cambio se aplica.

Es importante que al inicio de la página, abran la funcion session_start();, si no, no les funcionará el paso de un lado a otro.

Saludos.-
  #11 (permalink)  
Antiguo 21/11/2014, 14:52
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Problema con variable POST

Que bueno que lo pudiste resolver

Etiquetas: $_post, combobox, mysql, query
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 07:01.