Foros del Web » Programando para Internet » PHP »

Insertar registro en MYSQL

Estas en el tema de Insertar registro en MYSQL en el foro de PHP en Foros del Web. Disculpen que ayer abri un tema similar a este, pero esta vez decidí hacer yo mismo la cosa ... En post.php hay un form que ...
  #1 (permalink)  
Antiguo 29/10/2010, 16:39
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Insertar registro en MYSQL

Disculpen que ayer abri un tema similar a este, pero esta vez decidí hacer yo mismo la cosa ...
En post.php hay un form que envia por post a nuevocom.php (el objetivo es enviar un comentario y mostrarlos en post.php):

Código HTML:
<FORM NAME="nuevocomen" ACTION="nuevocom.php" METHOD="post">
  <div align="center">
    <INPUT TYPE="hidden" NAME="idform" VALUE="<?php echo $var; ?>">
    Nick : <?php echo $_SESSION['k_username']; ?>
  <BR>
    Comentario:<br /> 
  <textarea rows="10" cols="50" name= "comentario" ></textarea>
  <BR>
  <INPUT TYPE="submit" VALUE="Enviar Comentario">
  </div>
</FORM> 

$var; es $_GET['tutorial']; (pasa por get)

esto es en nuevocom.php:

Código PHP:
<?php

session_start
();

include(
"conexion.php");

if(isset(
$_POST['comentario'])){
if(isset(
$_SESSION['k_username'])){
if(isset(
$_POST['idform'])){

        
$nombre $_SESSION['k_username'];
        
$comentario htmlentities($_POST['comentario']);
        
$idcomen $_POST['idform'];
$rs mysql_query("INSERT INTO comentarios SET id_noticia='$idform' comentarios = '$comentario' nick = '$nombre'"$db);
        echo 
"ingresado con exito";
        
                }
            }
        }
else {
echo 
"ah ocurrido un error, introduzca bien";
}
?>
Y no funciona, pero me resulta interesante saber una opinion y como puedo resolver esto, fijense en nuevocom.php que $idcomen toma por $_POST la variable $_GET['tutorial'] esto se puede realizar? si se envia por post ... es decir, ¿ Se puede enviar una variable $_GET que esta encerrada dentro de un form por method "post" a un formulario ?.

Agradesco cualquier ayuda de antemano.

PD: Este codigo funciona por la mitad, solo me muestra un echo "echo "ingresado con exito";" pero no inserta ningun registro a la db.
  #2 (permalink)  
Antiguo 29/10/2010, 16:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: Insertar registro en MYSQL

antes de insertar el registro, las variables tomas todo los que vos queres pasarle??'
  #3 (permalink)  
Antiguo 29/10/2010, 17:02
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

Si, esta todo ahí ... en post.php donde esta el form para pasar las cosas, en el header se encuentra $var=$_GET['tutorial'];
uso un campo hidden para reconocer a que formulario pertenece cada comentario ... pero lo gracioso es que no pasa nada ... y verifique los errores y no da ninguno, para mi es que la variable $var como tiene un dato $_GET no se puede pasar por $_POST en un formulario con method "post", si es asi como puedo resolverlo O.o
  #4 (permalink)  
Antiguo 29/10/2010, 17:07
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Insertar registro en MYSQL

Es idea mia o esta tu consulta SQL.

porque creo que es asi el INSERT INTO

Código SQL:
Ver original
  1. INSERT INTO tabla (campos) VALUES (valores)

Y claro que se puede hacer $var = $_GET[idtutorial];

despues lo pasa al post y quedara hay cuando este se envie.
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #5 (permalink)  
Antiguo 29/10/2010, 17:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: Insertar registro en MYSQL

fijate si el problema esta en hidden, si se puede pasar esa variable, por que vos la recibis ahi con ese metodo pero el valor que tenes te lo va a pasar por post.

y como como dice xalupeao. tu sentencia de insert esta mal

es
Código PHP:
INSERT INTO nombre_tabla (campos de tu tablaVALUES (valore que quieres insertar en tu bd
eso que has puesto es una mezcla de insert con update.
  #6 (permalink)  
Antiguo 29/10/2010, 17:22
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

$rs = mysql_query("INSERT INTO comentarios (id_noticia, nick, comentario) values ('$idcomen', '$nombre' , '$comentario'), $db);

No funciona ...
  #7 (permalink)  
Antiguo 29/10/2010, 17:25
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

Sigo pensando que esta en el $var el error, probaré mover todo el nuevocom.php a post.php y les cuento.
  #8 (permalink)  
Antiguo 29/10/2010, 17:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: Insertar registro en MYSQL

$db = a conectar bd;

$rs = mysql_query("INSERT INTO comentarios (id_noticia, nick, comentario) values ('$idcomen', '$nombre' , '$comentario'));
fiajte si te funciona asi;
sino empeza a probar, donde colocas el campo que tenes el problema colocales un dato falso, por ejemplo

Código PHP:
$rs mysql_query("INSERT INTO comentarios (id_noticia, nick, comentario) values ('$idcomen', '$nombre' , 'hola')); 
se entiende, entonces ahi descartamos si es el mysql o el $var
  #9 (permalink)  
Antiguo 29/10/2010, 18:26
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

No funciona :S, nosé que es en realidad
  #10 (permalink)  
Antiguo 29/10/2010, 18:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Insertar registro en MYSQL

¿intentaste depurar tu consulta?
Código PHP:
mysql_query(/* consulta */) or die(mysql_error()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 29/10/2010, 19:02
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

Y, se traba como ayer, aunque cambie el script sigue pasando igual, sigo pensando que la variable $_GET da problemas ...
  #12 (permalink)  
Antiguo 29/10/2010, 19:11
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

Lo arreglé, no me lo van a creer, en la pagina hay 2 consultas, 1 era para mostrar el post, otra para insertar los comentarios, bien, $var= $_GET['tutorial']; es para una consulta, probé en hacer esto abajo de $var:

$varrr=$_GET['tutorial'];

y me anduvo O.o, no sabia que php se manejaba asi ... muchas gracias a todos igual :D
  #13 (permalink)  
Antiguo 29/10/2010, 19:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Insertar registro en MYSQL

Cita:
Iniciado por VbOkonly Ver Mensaje
y me anduvo O.o, no sabia que php se manejaba asi ... muchas gracias a todos igual :D
php no se maneja solo, quizá tu no sabes manejarte bien con php...

seguramente estas cometiendo un error, te invito a mostrar tu código como ahora para comprobar lo que dices...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 29/10/2010, 20:00
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Insertar registro en MYSQL

Código PHP:
<?php
include ("conexion.php");

$var=$_GET['tutorial'];
$varrr=$_GET['tutorial'];
$a mysql_query("select * from tutorial where id='".$var."'"$db);

?>

Código HTML:
<FORM NAME="nuevocomen" ACTION="nuevocom.php" METHOD="post">
  <div align="center">
    <INPUT TYPE="hidden" NAME="idform" VALUE="<?php echo $varrr; ?>">
    Nick : <?php echo $_SESSION['k_username']; ?>
  <BR>
    Comentario:<br /> 
  <textarea rows="10" cols="50" name= "comentario" ></textarea>
  <BR>
  <INPUT TYPE="submit" VALUE="Enviar Comentario">
  </div>
</FORM> 
y funciono todo. supuestamente en la variable se guarda "algo",cuando daba error era $var = $_GET['tutorial'];....
Pero funcionó cuando guarde $_GET en distintas variables.

Etiquetas: mysql, registro
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 17:25.