New question

Question:

Date: 08-07-2019 18:41:36 (In Spanish)

Help...[Unresolved]

buenas noches tengo un form en php para ingresar valores y me sale el siguiente error

Notice: Undefined index: busca in /xxxx/xxxx/xxx/xxx.html on line 60 y en esta línea tengo lo siguiente,

linea 60------- if($_POST['busca']!="" && $_POST['insertar'] == 'grabar')
{
$guardar="INSERT INTO defectos ( campos ) values ( variables )
$result=mysql_query($guardar);
mysql_close();
}

así está el botón

<div class="form-group">
<div class="col-sm-4">
<button type="submit" class="btn btn-danger btn-lg btn-block" name="insertar" value="grabar">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Aceptar
</button>
</div>
<div class="col-sm-4">&nbsp;</div>
<div class="col-sm-4">
<button type="button" class="btn btn-default btn-lg btn-block">
<span class="glyphicon glyphicon-remove"></span>&nbsp;Cancelar
</button>
</div>
</div>


Tags: MySQL - PHP - Question Votes: 0 - Answers: 7 - Views: 12 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 08-07-2019 20:34:11 Se debe comprobar que la variable post exista: if ( !empty($_POST['busca']) )   Votes: 0 - Link answer
     
  • Date: 09-07-2019 05:59:52 Fernando... vos decís que debería ser así

    if( ( !empty($_POST['busca']!="" ) && $_POST['insertar'] == 'grabar') ){......}
      Votes: 0 - Link answer
     
  • Date: 09-07-2019 09:44:02 Sí. En PHP todas las variables (o índices) que no sabemos si existen deben ser comprobadas con empty() o isset(). También deberías hacerlo con 'insertar'

    Y además limpiar y validar sus valores antes de guardarlos. Tu formulario es un gran candidato a una inyección de SQL.
      Votes: 0 - Link answer
     
  • Date: 09-07-2019 10:11:54 Fernando me darías una mano en como debería quedar esa sentencia... porq lo estoy probando y me sigue dando ese error   Votes: 0 - Link answer
     
  • Date: 09-07-2019 12:52:19 if( !empty( trim($_POST['busca']) ) && $_POST['insertar'] == 'grabar') ... Lo demás igual. Dame Karma.   Votes: 1 - Link answer
     
  • Date: 15-07-2019 10:30:00 Basicamente el error significa que $_POST['busca'] no esta definida. Comprueba en tu formulario si existe un campo cuyo nombre genere esa variable (en la pieza de código que pusiste no existe nada con name='busca').

    Otra cosa, tal vez es redundante asignarle un valor al botón 'insertar'. Generalmente es suficiente usar el nombre del botón para realizar una acción: if(isset($_POST['insertar']) { ... }
      Votes: 0 - Link answer
     
  • Date: 15-07-2019 10:58:06 Juan desde ya muchas gracias por tú comentario... a continuación dejo el archivo...

    <?php
    if(!isset($_SESSION))
    {
    session_start();
    }

    $usuario = Auth::user();


    $busca = isset($_POST['busca']) ? $_POST['busca'] : null;

    /*

    declaro variables a usar en la pantalla bootstrap

    */

    include_once('conecto a la bdd ');


    if(isset($_POST['insertar'] )== 'insertar')
    {
    $guardar="INSERT INTO base de datos ( campos de la base ) VALUES ( variables )";
    $result=mysql_query($guardar);
    mysql_close();
    }
    ?>

    <div class="container-fluid" id="">
    <div class="page-head">
    <h2>Defectos de C&aacute;maras</h2>
    </div>
    <div class="main-app">
    <div class="items products">
    <div class="panel-body">
    <form class="form-horizontal" name="frm" action="#" style="border-radius: 0px;" method="post">
    <div class="row">
    <div class="col-md-6">
    <div class="panel panel-info">
    <div class="panel-heading">
    <h3 class="panel-title text-uppercase">Ingrese el N&deg; de C&aacute;mara</h3>
    </div>
    <div class="form-group">
    <div class="col-md-12">
    <div class="col-xs-12 col-md-8">
    <div class=" input-group">
    <input type="number" name="busca" class="form-control" value="<?php echo $_POST['busca']; ?>">
    <span class="input-group-btn">
    <button class="btn btn-info" type="submit">Buscar</button>
    </span>
    </div>
    </div>
    </div>
    </div>
    <?php
    if($busca = isset($_POST['busca']) ? $_POST['busca'] : null)
    {
    include_once(' conexion a la bdd ');
    if($busca!="")
    {
    $busqueda=mysql_query("acá coloco la consulta");
    while($muestra=mysql_fetch_array($busqueda))
    {
    ?>
    </div>
    </div>
    <div class="col-md-6">
    <div class="panel panel-info">
    <div class="form-group">
    <label class="col-sm-3 control-label">Clientes</label>
    <div class="col-xs-11 col-md-8">
    <input type="text" value="<?php echo($muestra['clientes']); ?>" class="form-control" disabled="disabled" placeholder="Nombre del Cliente &oacute; Raz&oacute;n Social">
    </div>
    </div>
    <div class="form-group">
    <label class="col-sm-3 control-label">Domicilio</label>
    <div class="col-xs-11 col-md-8">
    <input type="text" value="<?php echo($muestra['direccion']); ?>" class="form-control" disabled="disabled" placeholder="Domicilio">
    </div>
    </div>
    </div>
    </div>
    </div>

    <!-- comienza la pantalla con bootstrap -->
    ...
    ...
    ...
    <!-- fin de la pantalla con bootstrap -->

    <!--------------------------
    BOTONES
    ---------------------------->

    <div class="panel-body">
    <div class="row">
    <div class="col-sm-12">
    <div class="panel panel-danger">
    <div class="panel-body" style="min-height: 80px;">
    <div class="form-group">
    <div class="col-sm-4">
    <button type="submit" class="btn btn-danger btn-lg btn-block" name="insertar" value="insertar">
    <span class="glyphicon glyphicon-ok"></span>&nbsp;Aceptar
    </button>
    </div>
    <div class="col-sm-4">&nbsp;</div>
    <div class="col-sm-4">
    <button type="button" class="btn btn-default btn-lg btn-block">
    <span class="glyphicon glyphicon-remove"></span>&nbsp;Cancelar
    </button>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    </div>
    <?php
    }
    }
    }
    ?>
    </form>
    </div>
    </div>
    </div>
    </div>
      Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In