Foros del Web » Programando para Internet » PHP »

PHP me inserta campos vacios en MySQL

Estas en el tema de PHP me inserta campos vacios en MySQL en el foro de PHP en Foros del Web. Buenas a todos Os agradeceria a todos/as que me exaseis una mano con el php... Mi problema consiste en que ago un formulario en HTML ...
  #1 (permalink)  
Antiguo 11/05/2005, 19:51
 
Fecha de Ingreso: mayo-2005
Mensajes: 6
Antigüedad: 18 años, 11 meses
Puntos: 0
PHP me inserta campos vacios en MySQL

Buenas a todos

Os agradeceria a todos/as que me exaseis una mano con el php...

Mi problema consiste en que ago un formulario en HTML y lo mando a un archivo.php y de este archivo lo inserto en MySQL, el problema es ue no me inserta los registros que yo e puesto antes en el formulario sino que me inserta klos campos vacios :S

Mis script:

index.html

<HTML>
<BODY>
<h1>Insertar un registro</h1>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Usuario<br>
<INPUT TYPE="TEXT" NAME="usuario"><br>
Contraseña<br>
<INPUT TYPE="TEXT" NAME="contrasenia"><br>
ID_Contraseña<br>
<INPUT TYPE="TEXT" NAME="id_contrasenia"><br><br>
<INPUT TYPE="SUBMIT" value="Insertar datos">
</FORM>
</BODY>
</HTML>

insertar.php
<?
mysql_connect("localhost","root","numm");
mysql_db_query("marismas","insert into contrasenias (usuario,contrasenia,id_contrasenia) values ('$usuario','$contrasenia','$id_contrasenia')");
?>

Agradeceria muxisimo vuestra cooperacion :), si necesitais mas iformacion o algo para ayudarme este es mi correo, [email protected]
  #2 (permalink)  
Antiguo 11/05/2005, 20:38
Avatar de SAGITARIO  
Fecha de Ingreso: febrero-2005
Ubicación: Huancayo
Mensajes: 108
Antigüedad: 19 años, 1 mes
Puntos: 0
por aca va la cosa

Hola amigo lo que pasa, me imagino es que en tu archivo


php.ini

Debes ubicar la siguiente linea:
Cita:
register_globals = Off
debes ponerlo a :

Cita:
register_globals = On
En caso contrario imprime los valores:

insertar.php
Código PHP:
<?
echo $usuario."<BR>";
echo 
$contrasenia."<BR>";
echo 
$id_contrasenia"<BR>";
?>
Espero te ayude

Salu2
  #3 (permalink)  
Antiguo 12/05/2005, 01:21
 
Fecha de Ingreso: diciembre-2004
Mensajes: 120
Antigüedad: 19 años, 4 meses
Puntos: 0
Si no siempre puedes poner:
insertar.php
<?
$usuario = $_POST["usuario"];
$contrasenia = $_POST["contrasenia"];
$id_contrasenia= $_POST["id_contrasenia"];
mysql_connect("localhost","root","numm");
mysql_db_query("marismas","insert into contrasenias (usuario,contrasenia,id_contrasenia) values ('$usuario','$contrasenia','$id_contrasenia')");
?>
  #4 (permalink)  
Antiguo 12/05/2005, 01:42
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
OK, por una cuestión de seguridad NO debes poner register_globals = On en tu php.ini. Para eso usa las variables superglobales como $_POST (en este caso), $_GET, $_FILE, etc.
Si bien mysql_query utiliza la última conexión realizada y le pasas la DB a usar, es preferible usar mysql_select_db para seleccionar la DB en la q vas a trabajar antes de realizar el query, todo esto deberías ponerlo en un archivo aparte (menos el query) e incluirlo en los q usan consultas a la DB
cofig_inc.php
Código PHP:
$host 'localhost';
$user 'root';
$pass 'numm';
$dbname 'marismas';
mysql_connect($host,$user,$pass) or die("No se pudo establecer la conexión<br>".mysql_error());
mysql_select_db($dbname) or die("no se puede acceder a la base de datos:<br>".mysql_error()); 
tu otro archivo
Código PHP:
include("config_inc.hp");
foreach(
$_POST as $nombre_campo => $valor){$asignacion "\$".$nombre_campo."='".addslashes($valor)."';";
    eval(
$asignacion);}
mysql_db_query($dbname,"INSERT INTO contrasenias (usuario,contrasenia,id_contrasenia) values ('$usuario','$contrasenia','$id_contrasenia')"); 
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #5 (permalink)  
Antiguo 12/05/2005, 04:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 6
Antigüedad: 18 años, 11 meses
Puntos: 0
ooooooooooleeeeeeeeee que arte teneis :D:D
muxisimas gracias, ya esta solucionao, espero que sigais asin que soys unos crack ;)

suerte
  #6 (permalink)  
Antiguo 23/01/2008, 23:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 16
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: PHP me inserta campos vacios en MySQL

yo me encuentro en el mismo error me inserta en blanco en la bd ya le busque que podria o cual es el error y no siempre lo he manejado asi la conexion en un archivo a aparte...

conexion.php

Código PHP:
    function conexion()
    {
         
$link=mysql_connect("localhost","usuario","pass") or die ("No se pudo  conectar");
           @
mysql_select_db("base",$link);
           return 
$link;
    }
?> 
y el codigo que tengo en el insertar es el siguiente

Código PHP:
require_once("conexion.php");
$link=conexion();

if(isset(
$_POST[enviar])) 
{
    if(
$txtselect=="")
    {
        
$sql="INSERT INTO empleados SET nombre='$txtnombre'"// aki ingreso varios campos nomas k puse uno para calar y aun asi
        
@mysql_query($sql,$link);
        
    }
    else
    {
?> 
                <script>
                    alert ('No se Puede guardar la misma Categoria'); 
                </script>
    }

y mi problema es que me ingresa en blanco y ya cheque los nombre de los text... espero y me puedan ayudar
  #7 (permalink)  
Antiguo 24/01/2008, 07:09
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: PHP me inserta campos vacios en MySQL

haz un print_r($_POST); a tus campos input y vez que es lo que puede pasar.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:12.