Foros del Web » Programando para Internet » PHP »

Notice: Undefined variable

Estas en el tema de Notice: Undefined variable en el foro de PHP en Foros del Web. Tengo un error en un sistema de comentarios que dice Notice: Undefined variable... segun he leido no es un error en si si no que ...
  #1 (permalink)  
Antiguo 04/08/2008, 19:12
 
Fecha de Ingreso: julio-2005
Mensajes: 6
Antigüedad: 18 años, 9 meses
Puntos: 0
Notice: Undefined variable

Tengo un error en un sistema de comentarios que dice Notice: Undefined variable... segun he leido no es un error en si si no que solo es un aviso quese arregla con isset, pero el problema es que no guarda los datos en la base de datosy no me da ningun otro error, ¿a que se debe esto?

Mi codigo es este:

Código:
<?php
if (isset($enviar)){
        // Con esta sentencia SQL insertaremos los datos en la base de datos
        $sql = "INSERT INTO comments VALUES ('','{$_POST['texto_comment']}',NOW(),'{$_POST['autor_comment']}','$c')";
        $result = consulta($sql);
        // Ahora comprobaremos que todo ha ido correctamente
        $my_error = mysql_error();

        if(!$result) {

            echo "Ha habido un error al insertar los valores. $my_error"; 

        } else {

            echo "Los datos han sido introducidos satisfactoriamente";
			

        } }
?>

<form action="index.php?c=<?php echo $c; ?>" method="post" id="comform">
  <label for="autor_comment">Tu nombre:</label> 
    <input name="autor_comment" type="text" />
    <br />
    <label for="email">Tu email:</label>
    <input type="text" name="email" id="email" />
    <br />
  <label for="texto_comment">Tu Comentario:</label>
  <textarea name="texto_comment" cols="30" rows="5" wrap="physical" id="texto_comment"></textarea>
  </p>
  <p>
    <input type="submit" name="enviar" id="enviar" value="Enviar" />
  </p>
</form>

<?php
$sql = "SELECT * FROM comments WHERE id_comic = ".$c;
$datos_de_comentario = consulta($sql);

while ($noticia = mysql_fetch_array($datos_de_comentario))
   { ?>
   <div class="comentario">
   <?php
   $default = "http://comic.frozzer.com/imagenes/blank_gravatar.jpg"; //Avatar predeterminado
   $size = 40; //Tamaño del gravatar
   $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5($email)."&default=".urlencode($default)."&size=".$size; ?>
   <a href="http://www.gravatar.com"><img src="<?php echo $grav_url; ?>" alt="Gravatar" /></a>
   <h3><?php echo $noticia['autor_comment']; ?></h3>
   <p><?php echo $noticia['texto_comment']; ?></p>
   </div>
   <br />
  
   <?php } ?>
  #2 (permalink)  
Antiguo 04/08/2008, 19:19
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 9 meses
Puntos: 103
Respuesta: Notice: Undefined variable

a mi me parece que es por esto:
$sql = "INSERT INTO comments VALUES ('','{$_POST['texto_comment']}',NOW(),'{$_POST['autor_comment']}','$c')";

yo le veo varios errores
1. el primer value no tiene nada adentro(anque sea para probar ponle algo)
2. te faltan los indicadores.
ej.: (user, pass, blah, blahblah) VALUES ('','{$_POST['texto_comment']}',NOW(),'{$_POST['autor_comment']}','$c')";
  #3 (permalink)  
Antiguo 04/08/2008, 19:23
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Notice: Undefined variable

Yo creo que es porque te faltan nombrar los campos aquí:
Código:
INSERT INTO comments(AQUI) VALUES...
Por ejemplo:
Código:
INSERT INTO comments(campo1, campo2, campo3) VALUES...
Pero no estoy seguro.
  #4 (permalink)  
Antiguo 04/08/2008, 19:26
 
Fecha de Ingreso: julio-2005
Mensajes: 6
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Notice: Undefined variable

la cosa es que en local me funciona perfecto y si agrega los datos como deberia, pero ya en el servidor me sale ese error, el error completo seria

Notice: Undefined variable: enviar in /htdocs/includes/comments.php on line 2

Eso si quito el isset, al ponerlo desaparece pero sigue sin agregarme los datos
  #5 (permalink)  
Antiguo 04/08/2008, 19:29
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Notice: Undefined variable

Aaaah...

Intenta cambiar el "isset($enviar)" por "!empty($_POST)".
  #6 (permalink)  
Antiguo 04/08/2008, 19:47
 
Fecha de Ingreso: julio-2005
Mensajes: 6
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Notice: Undefined variable

Gracias, eso me funcionó ;)
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 13:21.