Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: fmramon en 24 de Julio 2016, 09:14

Título: PHP Notice: Undefined variable: f in /var/www/ on line referer http://localhost
Publicado por: fmramon en 24 de Julio 2016, 09:14
Buenos días a todos.

Estoy empezando con PHP y tengo este error que no se por qué sale. Espero que podáis ayudarme.

Tengo una página con un formulario para modificar una tabla de la base de datos.

Cuando cargo la página en el formulario aparece el producto que quiero modificar. El problema viene cuando pulso el botón para que guarde la modificación en la base de datos. Sale el siguiente error:

[Sun Jul 24 08:51:25.697355 2016] [:error] [pid 23545] [client ::1:42684] PHP Notice:  Undefined variable: fila in /var/www/html/ferreteria/categoria_edit.php on line 45, referer: http: //localhost/ferreteria/categoria_edit.php?id=1

[Sun Jul 24 08:51:25.697437 2016] [:error] [pid 23545] [client ::1:42684] PHP Notice:  Undefined variable: fila in /var/www/html/ferreteria/categoria_edit.php on line 46, referer: http:// localhost/ferreteria/categoria_edit.php?id=1


El código es este:

Código: [Seleccionar]
<?php
  
include("function/conexion.php");
  if(isset(
$_GET['id'])){
    
$id $_GET['id'];
    
$sql "SELECT * FROM categoriaprod WHERE idcategoria = $id";
    
$res $con->query($sql);
    
$fila $res->fetch_array();
  }  else{
    echo 
"Debe especificar un 'id'.\n";
  }
  
// Aquí actualizamos el registro
  // si enviamos algo por POST mediante el boton actualizar
  
if(isset($_POST['actualizar'])){
    
// si el campo del formulario que enviampos por POST no está vacío
    
if(!empty($_POST['descripcion'])){
      
//asignamos a las variables los valores contenidos en los campos
      //del formulario llamados 'idcategoria' y 'descripcion'
      
$idcategoria $_POST['idcategoria'];
      
$desccategoria $_POST['descripcion'];
      
$sqlUpdate $con->query("UPDATE categoriaprod SET descripcionProd = '$desccategoria' WHERE idcategoria = '$idcategoria'") or die(mysqli_error());
      
header("loacation:categoria.php");
    } else{
      echo 
"debe rellenar todos los campos.";
    }
  }
  
$con->close();
 
?>

<!DOCTYPE html>
<html lang="en">
  <?php
    
include("function/header.php");
  
?>

  <body>
    <?php
      
include("function/menu.php");
    
?>

    <div class="container">
      <br>
      <br>
      <div class="starter-template">
        <h1>Editar categoria</h1>
        <form id="categoria" name="categoria" method="post" action="categoria_edit.php">
          Descripcion
          <input class="form-control" name="descripcion" type="descripcion" id="descripcion" value="
          <?php echo $fila['descripcionProd']; ?>" size=45 />     *****EL ERROR LO DA EN ESTA LÍNEA Y EN LA SIGUIENTE *****
          <input type ="Hidden" name="idcategoria" value="<?php echo $fila['descripcionProd']; ?>">
          <!-- el nombre actualizar lo usamos arriba para la linea if(isset($_POST['actualizar']))-->
          <input type="submit" name="actualizar" id="categoria" value="Modificar categoria" />
        </form>
      </div>

    </div><!-- /.container -->


    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
    <script src="js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>
Título: Re:Ayuda con este error en PHP
Publicado por: DRANXZ88 en 28 de Julio 2016, 02:06
Si va a publicar tenes que leer este link.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 (https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)
Para estar mas ordenado y entendible tu código.
Título: Re:PHP Notice: Undefined variable: f in /var/www/ on line referer http://localhost
Publicado por: César Krall en 02 de Agosto 2016, 18:14
Hola!

Aparte de recomendarte que leas el hilo comentado por DRANXZ88, el error parece relacionado con que esta línea

$fila = $res->fetch_array();

no esté devolviendo el resultado esperado.

Revisa este curso donde tienes ejemplos: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

Saludos!