[Resuelto] Undefined Index?? Ayuda!

Iniciado por Geg1, 14 Marzo 2018, 15:27 PM

0 Miembros y 1 Visitante están viendo este tema.

Geg1

Hola a todos! Desde ya, Gracias por leer.

Mi codigo:

Código (php) [Seleccionar]


<html>
<head>
<link rel="stylesheet" type="text/css" href="estilos.css">
</head>
<body>
<?php

$link 
mysqli_connect("127.0.0.1","root","");
mysqli_select_db($link"final");
$accion $_GET["accion"];
$id_cliente $_GET["id_cliente"];


if (
$accion == "new"){

echo 
"<center>";
echo 
"<form action=pedido.php method=POST>"
echo 
"<input  type=hidden size=30 name=accion value=save_new> <br>"
echo 
"N° Pedido:  <br><input type=text size=30 name=id_pedido> <br>"
echo 
"N° Cliente:      <br><input type=text size=30 name=id_cliente> <br>"
echo 
"Fecha:<br><input type=text size=30 name=fecha_envio> <br>";
echo 
"Producto: <br><input type=text size=30 name=producto> <br>"
echo 
"Descripcion:    <br><input type=text size=30 name=descripcion> <br> <br>"
echo 
" <input type=submit value=aceptar>";
echo 
" <form action =pedido.php><input type=submit value=cancelar /> </form>";
echo 
"</form>";
echo 
"</center>";

}

if (
$accion == "save_new"){
$id_pedido $_GET["id_pedido"];
$producto $_GET["producto"];
$id_cliente $_GET["id_cliente"];
$fecha_envio $_GET["fecha_envio"];
$descripcion $_GET["descripcion"];

$sql "INSERT INTO pedido (id_pedido,producto,id_cliente,fecha_envio,descripcion) VALUES ('$id_pedido','$id_cliente','$producto','$fecha_envio','$descripcion')";
$resultadomysqli_query($sql);
}

echo 
"Hola a todos"

?>

</body>
</html>



Me da el siguiente error:




Alguien sabe a que se debe? Disculpen, estoy recien comenzando con PHP y refrescando mi memoria luego de haber reclicado este codigo del año pasado, en el cual, haciamos un formulario y enviabamos mediante GET o POST a la base de datos..

srWhiteSkull

Pues tan obvio como eso, que cuando haces la consulta al servidor no estás pasándole los parámetros accion e id_cliente. Lo normal es que primero lo compruebes en una condición antes de procesar toda la consulta. Para saber si se encuentran los parámetros dentro del array $_GET usa la función isset().

Geg1


srWhiteSkull

Por otro lado, te en cuenta que el método que estás usando en el formulario es POST:

echo "<form action=pedido.php method=POST>";

Así que una de dos, o usas GET en vez de POST en el formulario o... capturas los argumentos del array correspondiente, $_POST en vez de $_GET.

Suerte