Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Error de undefined index (https://www.clubdelphi.com/foros/showthread.php?t=81138)

ebanibaldo 15-10-2012 06:10:55

Error de undefined index
 
Hola amigos del foro.. estoy realizando lo que es un sistema bibliotecario y tengo un problema. lo que pasa es que me sale el siguiente mensaje:
Código:

<br/>
<b>Notice</>: Undefined index: id in<b>c:\xampp\htdocs\SISTEMA_BIBLIOTECARIO\nuevo.php</b> on line<b> 10</b><br/>
<br/>

preo segun yo ya estan todas las variables bien definidas.. ayundenme porfavor. les dejo los codigos que tengo:
Código PHP:

$clave htmlspecialchars(trim($_POST['clave']));
$nombre htmlspecialchars(trim($_POST['nombre']));
    
$objCliente=new Cliente;
    if ( 
$objCliente->insertar(array($clave,$nombre)) == true){
        echo 
'Datos guardados';

<
form id="frmClienteNuevo" name="frmClienteNuevo" method="post" action="nuevo.php" onSubmit="GrabarDatos(); return false">
  <
p><label>clave<br/><input class="text" type="text" name="clave" id="clave" /></label></p>
  <
p><label>nombre<br/><input class="text" type="text" name="nombre" id="nombre" /></label></p>

</
form

y en la consulta para ingresar los datos a la base de datos es:
Código PHP:

function insertar($campos){
        if(
$this->con->conectar()==true){
            
'".$campos[1]."','".$campos[2]."','".$campos[3]."','".$campos[4]."')";
            return mysql_query("
INSERT INTO libros (clave,nombreautoreditorialpaginascantidadubicacionfechaVALUES ('".$campos[0]."''".$campos[1]."','".$campos[2]."','".$campos[3]."','".$campos[4]."','".$campos[5]."','".$campos[6]."','".$campos[7]."')");
        }
    } 

Nota: El mensaje que me sale es: datos introducidos satisfactoriamente, pero en realidad no inserta nada, y manda el msj que describo arriba
gracias por su tiempo que se tomaron en leer este msjy por sus respuestas

roman 15-10-2012 07:47:54

¿Cuál es la línea 10 de nuevo.php?

// Saludos

ebanibaldo 15-10-2012 18:00:33

Este codigo lo tengo en un archivo que tiene como nombre nuevo.php
Código PHP:

<script src="js/livevalidation_standalone.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="css/estilovali.css" />
<link type="text/css" rel="stylesheet" href="css/estilo.css" />
<?php

require('functions.php');
require (
'clases/conexion.class.php');
if(isset(
$_POST['submit'])){
    require(
'clases/cliente.class.php');
    
$clave htmlspecialchars(trim($_POST['clave']));
    
$nombre htmlspecialchars(trim($_POST['nombre']));
    
$autor htmlspecialchars(trim($_POST['autor']));
    
$editorial htmlspecialchars(trim($_POST['editorial']));
    
$paginas htmlspecialchars(trim($_POST['paginas']));
    
$cantidad htmlspecialchars(trim($_POST['cantidad']));
    
$ubicacion htmlspecialchars(trim($_POST['ubicacion']));
    
$fecha     htmlspecialchars(trim($_POST['fecha']));
    
$objCliente=new Cliente;
    if ( 
$objCliente->insertar(array($clave,$nombre,$autor,$editorial,$paginas,$cantidad,$ubicacion,$fecha)) == true){
        echo 
'Datos guardados';
    }else{
        echo 
'Se produjo un error. Intente nuevamente';
    } 
}else{
?>
  
<form id="frmClienteNuevo" name="frmClienteNuevo" method="post" action="nuevo.php" onSubmit="GrabarDatos(); return false">
  <p><label>clave<br/><input class="text" type="text" name="clave" id="clave" /></label></p>
  <p><label>nombre<br/><input class="text" type="text" name="nombre" id="nombre" /></label></p>
  <p><label>autor<br/><input class="text" type="text" name="autor" id="autor" /></label></p>
  <p><label>editorial<br/><input class="text" type="text" name="editorial" id="editorial" /></label></p>
  <p><label>paginas<br/><input class="text" type="text" name="paginas" id="paginas" /></label></p>
  <p><label>cantidad<br/><input class="text" type="text" name="cantidad" id="cantidad" /></label></p>
  <p><label>ubicacion<br/><input class="text" type="text" name="ubicacion" id="ubicacion" /></label></p>
  <p><label>Fecha<a onClick="show_calendar()" style="cursor: pointer;"><small>(calendario)</small></a><br />
    
    <input readonly="readonly" class="text" type="text" name="fecha" id="fecha" value="<?php echo date("Y-m-j")?>" />
    <div id="calendario" style="display:none;"> <?php calendar_html() ?> </div></label></p>  <p>
   
    <input type="submit" name="submit" id="button" value="Enviar"/>
    <label></label>
    <input type="button" class="cancelar" name="cancelar" id="cancelar" value="Cancelar" onClick="Cancelar()" />
    <input type="reset" value="borrar" />
  </p>
</form>
<?php
}
?>

y este otro codigo lo tengo en otro archivo donde realizo todas mis consultas de mysql y tiene como nombre cliente.class y que esta dentro de una carpeta llamada cliente.class.php

Código PHP:

<?php 
include_once("conexion.class.php");

class 
Cliente{
 
//constructor    
     
var $con;
     function 
Cliente(){
         
$this->con=new DBManager;
     }

    function 
insertar($campos){
        if(
$this->con->conectar()==true){
            
            return 
mysql_query("INSERT INTO libros (clave,nombre, autor, editorial, paginas, cantidad, ubicacion, fecha) VALUES ('".$campos[0]."', '".$campos[1]."','".$campos[2]."','".$campos[3]."','".$campos[4]."','".$campos[5]."','".$campos[6]."','".$campos[7]."')");
        }
    }
    
    function 
actualizar($campos,$id){
        if(
$this->con->conectar()==true){

            return 
mysql_query("UPDATE libros SET clave = '".$campos[0]."', nombre = '".$campos[1]."', autor = '".$campos[2]."', editorial = '".$campos[3]."', paginas = '".$campos[4]."', cantidad = '".$campos[5]."', ubicacion = '".$campos[6]."', fecha = '".$campos[7]."' WHERE id = ".$id);
        }
    }
    
    function 
mostrar_cliente($id){
        if(
$this->con->conectar()==true){
            return 
mysql_query("SELECT * FROM libros WHERE id=".$id);
        }
    }

    function 
mostrar_clientes(){
        if(
$this->con->conectar()==true){
            return 
mysql_query("SELECT * FROM libros ORDER BY id DESC");
        }
    }

    function 
eliminar($id){
        if(
$this->con->conectar()==true){
            return 
mysql_query("DELETE FROM libros WHERE id=".$id);
        }
    }
}
?>

El mensaje que describo al principio me sale que es en el archivo nuevo.php en las lineas donde mando a traer el valor de cada uno de los campos de el formulario que en este caso las lineas de nuevo.php son:
Código PHP:

$clave htmlspecialchars(trim($_POST['clave']));
    
$nombre htmlspecialchars(trim($_POST['nombre']));
    
$autor htmlspecialchars(trim($_POST['autor']));
    
$editorial htmlspecialchars(trim($_POST['editorial']));
    
$paginas htmlspecialchars(trim($_POST['paginas']));
    
$cantidad htmlspecialchars(trim($_POST['cantidad']));
    
$ubicacion htmlspecialchars(trim($_POST['ubicacion']));
    
$fecha     htmlspecialchars(trim($_POST['fecha'])); 

Gracias por su ayuda

ebanibaldo 16-10-2012 05:05:52

Gracias a todos los que se tomaron en leer este mensaje... el problema que tenia, ya no lo tengo lo he resuelto MIL GRACIAS a todos y puedo decir PROBLEMA REUELTO.....

Casimiro Notevi 16-10-2012 11:04:42

Cita:

Empezado por ebanibaldo (Mensaje 447200)
Gracias a todos los que se tomaron en leer este mensaje... el problema que tenia, ya no lo tengo lo he resuelto MIL GRACIAS a todos y puedo decir PROBLEMA REUELTO.....

¿Y cómo lo has resuelto?

ebanibaldo 19-10-2012 03:11:02

bueno esque tengo otro codigo que es un .js y en este es donde tambien estava declarando las variables, pero las estava declarando mal y por eso me salia ese mensaje de undefined, y ya cambie las variables al nombre correcto y pues ya quedo, y ahora si ya casi queda mi sistemita que estoy haciendo ;) saludos amigos....


La franja horaria es GMT +2. Ahora son las 01:46:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi