Undefined Variable..

Bi0HaZaR

buenas! tenia ya casi todo el codigo de mi web hecho y tal, cuando se me ocurrio pues instalarme el easyphp, para tener apache, php, mysql y phpmyadmin en mi ordena y asi pues trabajar mas rapido.. pero claro, para broma mia de repente me empieza a dar todos mis archivos, o casi todos, undefined index, variable, etc.. estuve preguntando y leyendo, y me dijeron que era porque me faltaban, en algunos casos, comillas, y en otros porque no estaba definida la variable.. el caso es que mas o menos pude arreglar algunos, leyendo algunas cosas por ahi, pero ahora el problema está, imagino que estará mal hecho, pero.. tengo un formulario para insertar unos textos, y al intentar insertarlo, pone que lo ha insertado, pero no lo hace..
os pongo el codigo a ver que veis vosotros :/
<?php
include ("conectar.php");
mysql_query("INSERT INTO historias (id, titulo, autor, descripcion, historia) VALUES ('','".$POST['titulo']."', '".$POST['autor']."', '".$POST['descripcion']."', '".$POST['historia']."'");
echo '<div align="center"><strong>Historia Insertada en la Base de Datos!</strong></div>';
?>

con ese codigo ni en mi servidor web, ni en mi servidor en el ordenador me funciona, pone que lo ha insertado pero no lo inserta, sin embargo.. con este:

<?
include ("conectar.php");

$query = mysql_query("INSERT INTO productions
VALUES ('','$titulo', '$duracion', '$tamanio', '$lugar', '$comentario', '$descarga')");

echo "<div align='center'>Historia Añadida</div>";

?>

si que me funciona en el servidor web, pero no en el servidor de mi ordenador :/

si alguno pudiese echarme un cable.. se lo agradeceria muchisimo ya que estaba ya casi toda mi web hecha, y de repente me empieza a petar por todos lados :s
muchas gracias por adelantado :P

Whose

Prueba con Appserv

Y si dices que no te inserta el registro en la db debugea para buscar donde esta el error, empieza poniendo or die(mysql_error()) al final del mysql_query() y si no muestra ningun error al insertar el registro prueba con este manual
http://www.php-hispano.net/archivos/FAQs/168/1

Bi0HaZaR

whose, entonces es posible que sea por el easyphp y no porque me codigo esté mal? :s

edit: he debugeado antes y al parecer estaba todo bien, estuve probando con Cubano y tal, y parece que iba bien :s, pero lo hicimos con print_R
ahora con el tuyo me sale esto: Algo está equivocado en su sintax cerca '' en la linea 1

Whose

pues ya sabes, no esta bien ;P, prueba asi

<?php
include ("conectar.php");
mysql_query("INSERT INTO historias (titulo, autor, descripcion, historia) VALUES ('{$POST['titulo']}', '{$POST['autor']}', '{$POST['descripcion']}', '{$POST['historia']}') or die(mysql_errory());
echo '<div align="center"><strong>Historia Insertada en la Base de Datos!</strong></div>';
?>

La ID de la noticia se inserta sola si le pusiste AUTO_INCREMENT en la tabla MySQL, pruebalo y me comentas.

Bi0HaZaR

eres el amo whose xD
muchas gracias por lo de mysql_error
ya lo consegui arreglar, justo ahora cuando posteabas esto, aqui va la solucion por si a alguien le sirve:

<?php
include ("conectar.php");
mysql_query("INSERT INTO historias
VALUES ('','$POST[titulo]', '$POST[autor]', '$POST[descripcion]', '$POST[historia]')") or die(mysql_error());
echo '<div align="center"><strong>Historia Insertada en la Base de Datos!</strong></div>';
?>

el caso era quitar las '' de dentro de $_POST[variable] y ya está, poco a poco voy reconstruyendo mi codigo sin errores, o eso creo xD
ahora voy a ver si consigo poner todos los archivos con forms y insert, delete y update en uno solo con IF's, muchas gracias de nuevo whose xD

murpix

'".$_POST['historia']." -> es que no tienes que poner los . para nada, y luego poner comilla simple y comilla doble, con "$variable" no tendrias que tener problema, y te deberia de funcionar tanto en localhost teniendo instalado un paquete u otro y luego en el servidor.
Bueno ya me contaras por msn, sino te contecto es que no estoy xD

Whose

Como yo te lo puse tambien te debe funcionar, creo que te comiste un trozo de codigo en el ultimo post xD

willsmith

('','$POST['titulo']', '$POST['autor']', '$POST['descripcion']', '$POST['historia']');

asi te deveria de ir, no hacia falta poner dobles comillas, y los puntos

Usuarios habituales

  • willsmith
  • Whose
  • murpix
  • Bi0HaZaR