Foros del Web » Programando para Internet » PHP »

¿Por qué no funciona?

Estas en el tema de ¿Por qué no funciona? en el foro de PHP en Foros del Web. Hola a todos: Parece ser que hay duendes en algún sitio. Hace un par de años le hice una página a un amiguete. Todo funcionando. ...
  #1 (permalink)  
Antiguo 26/05/2010, 03:20
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
¿Por qué no funciona?

Hola a todos:

Parece ser que hay duendes en algún sitio.

Hace un par de años le hice una página a un amiguete. Todo funcionando.

Hace un par de días, me pide que le añada un par de cosillas, y ahora han dejado de funcionar unas páginas para añadir texto a una base de datos.

El código es el siguiente: (la página se llama productos.php)

Cita:
<body>
<?php

if ($submit):

//CONECTANDO CON LA BASE DE DATOS
require_once("../incluye/config_x.php");
require_once("../incluye/funciones.php");
//CONECTAR A LA BASE DE DATOS
$cnx = conectar ();

$sql = "INSERT INTO productos SET textoproductos='$textoproductos'";
if (@mysql_query($sql)) {
echo "Registro actualizado.<br><br><form action='productos.php' method='post'><input name='entrar' type='submit' id='entrar' value='REGRESAR' onClick='submit()' /></form>";
} else {
echo("<p>Error : " .
mysql_error() . "</p>");
}
mysql_close($idcnx);
exit;
?>
<?php
else:
?>

<table border="1" cellpadding="0" cellspacing="0">
<form action="<?=$PHP_SELF?>" method="post">
<tr>
<td><textarea name="textoproductos" cols="100" rows="30" id="textoproductos"><? echo $fila['textoproductos'];?></textarea></td>
<td><input type="submit" name="submit" value="enviar"></td>
</tr>
</form>
<form action="inicio.php" method="post">
<tr>
<td><input name="entrar" type="submit" id="entrar" value="<---" onClick="submit()"></td>
</tr>
</form>
</table>
<?php endif; ?>

</body>
</html>
Hasta ahora, siempre había funcionado... por lo menos, el amiguete no se quejó.

¿Dónde está el fallo ahora?

Gracias a todos y un saludo:

Javy
  #2 (permalink)  
Antiguo 26/05/2010, 05:12
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: ¿Por qué no funciona?

que productos intentas meterle?

$sql = "INSERT INTO productos SET textoproductos='$textoproductos'";

Con eso no le estás diciendo nada, creo

EDITO: Y además creo que quieres hacer un update, no un insert.

El insert es para crear un nuevo registro, y el update es para editar un registro existente
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #3 (permalink)  
Antiguo 26/05/2010, 05:47
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: ¿Por qué no funciona?

La tabla se llama "productos", y lo que intento meter es, simplemente texto, en el campo "textoproductos".

La variable"$textoproductos" la debería de coger del campo de texto que hay más abajo, y que es donde se introduce el texto del nuevo producto.

Y sí, necesito usar "INSERT", ya que es para que se pueda meter un producto nuevo a la tabla.

"UPDATE" lo uso desde otra página para modificar algún producto ya existente.

Lo que me tiene loco, es que antes funcionara y ahora, sin modificar nada del código ni de la tabla, no quiera funcionar: es más, al abrir la página e introducir el texto del producto nuevo y dar a "enviar", se queda en la misma página y el texto desaparece.

Gracias de todos modos y un saludo:

Javy
  #4 (permalink)  
Antiguo 26/05/2010, 05:58
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: ¿Por qué no funciona?

Oki, puede ser, pues, por la variables globales de PHP

Te explico, antes si tu llamabas $textoproducto, te iba bien, ahora necesitarás $_POST['textoproducto']

Informate sobre registers_globals de php.ini y lo verás.

Puedes simplemente activarlas, pero las quitaron para poder tener algo más de seguridad
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #5 (permalink)  
Antiguo 26/05/2010, 06:01
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: ¿Por qué no funciona?

OK, muchas gracias, pero podrías indicarme donde meterla exactamente?... te lo digo porque ya probé con esa opción y no me funcionaba: es más, ni se me cargaba la página...
  #6 (permalink)  
Antiguo 26/05/2010, 06:06
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: ¿Por qué no funciona?

busca el php.ini y pon registers_globals a off
__________________
Tengo una pregunta que a veces me tortura... ¿El loco soy yo o los locos son los demás?
  #7 (permalink)  
Antiguo 26/05/2010, 07:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Por qué no funciona?

Cita:
Iniciado por javy Ver Mensaje
La tabla se llama "productos", y lo que intento meter es, simplemente texto, en el campo "textoproductos".

La variable"$textoproductos" la debería de coger del campo de texto que hay más abajo, y que es donde se introduce el texto del nuevo producto.

Y sí, necesito usar "INSERT", ya que es para que se pueda meter un producto nuevo a la tabla.

"UPDATE" lo uso desde otra página para modificar algún producto ya existente.

Lo que me tiene loco, es que antes funcionara y ahora, sin modificar nada del código ni de la tabla, no quiera funcionar: es más, al abrir la página e introducir el texto del producto nuevo y dar a "enviar", se queda en la misma página y el texto desaparece.

Gracias de todos modos y un saludo:

Javy
SET no es cláusula de INSERT sino de UPDATE. INSERT tiene otra sintaxis.

Revisa el manual de referencia antes de redactar las sentencias SQL o consulta en el Foro de Bases de Datos si necesitas asistencia con eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 26/05/2010, 07:31
 
Fecha de Ingreso: septiembre-2002
Mensajes: 153
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: ¿Por qué no funciona?

Ahí me acabas de matar... ¿donde busco ese archivo?... en el servidor no está.
  #9 (permalink)  
Antiguo 26/05/2010, 08:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: ¿Por qué no funciona?

Ya te comentaron la sintaxis de tu INSERT es incorrecta, debe de ser algo similar a:
Código SQL:
Ver original
  1. INSERT INTO foo (col1, col2) VALUES ('val1', 'val2')

Saludos.

Etiquetas: Ninguno
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 03:53.