Foros del Web » Programando para Internet » PHP »

Insertar datos en un formulario desde una base de datos

Estas en el tema de Insertar datos en un formulario desde una base de datos en el foro de PHP en Foros del Web. Disculpen pero no pudo solucionar el problema y me tiene estancado,... Reitero la pregunta,...con el programa siguiente Leo a con < select> name una base ...
  #1 (permalink)  
Antiguo 15/04/2011, 05:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
Información Insertar datos en un formulario desde una base de datos

Disculpen pero no pudo solucionar el problema y me tiene estancado,...



Reitero la pregunta,...con el programa siguiente Leo a con < select> name una base de datos donde están los por ejemplo proveedores de un comercio, esto lo realiza a la perfección pero cuando tengo que pasar esta variable (nombre del proveedor), a otro programa en php que es llamado por este para almacenar los datos del formulario, la variable nombre del proveedor no pasa....alguien me podría decir en que me estoy equivocando-....en que me equivoco…con que nombre llega la variable al otro programa……he probado con varias pero no recibo nada….

Desde ya muchas gracias


Hola ...si en la acción le pongo el camino del próximo programa y en el programa que recibe los datos le pongo la instrucción $nombre = $_REQUEST['Nombre'];

o

$nombre = $_POST['Nombre'];
pero no recibo nada

pruebo con otra variable del formulario y si la recibo pero a esta no, la verdad es que no se en que estoy equivocado...
Haber si alguien me puede echar una mano le agradecería...


a lo mejor esto no se puede realizar, la verdad que no lo se...



<?php


//---------------------------------------------------------

$conexion = mysql_connect($dbservidor,$dbusuario,$dbpassword)o r die ("Erro no puedo encontrar el servidor, $dbservidor");

// Seleccionamos la base de datos
//---------------------------------------------------------
//$articulo= 420;
mysql_select_db ($db, $conexion) or die ("No se pudo conectarme a la base de datos, $db , $dbservidor");

?>

<html>
<head>

<title></title>

<meta http-equiv="" content="text/html; charset=iso-8859-1"><meta http-equiv="Content-Type" content="text/html; charset=">

</head>


<form id = "form1" name="form1" method="post" action="">
<table width="701" border="1" align="center" bgcolor="#99CC99" id="datos">

<tr>
<th width="222" scope="row"><label for="label"></label>

<label>Proveedor</label>
2. <select name="Nombre" size="1" id="Nombre">
3. [COLOR="Black"]<?php
4. $result = mysql_query("SELECT * FROM Proveedor", $conexion);
5. while($sql = mysql_fetch_array($result))
6. {
7. echo "<option value='".$sql['proveedor']."'/>".$sql['Nombre']."</option>";
8. }
9. ?>
10. </select>
11.
12.
13. <label></label></th>


<label></label></th>
<td width="203"><label for="textfield"><strong>Art&iacute;culo</strong>
<input name="articulo" type="text" size="8" id="articulo">
</label></td>
<td width="254"><label for="textfield"><strong>Descripci&oacute;n</strong></label>
<input name="descripcion" type="text" id="descripcion" size="50"></td>
</tr>
  #2 (permalink)  
Antiguo 15/04/2011, 05:43
 
Fecha de Ingreso: diciembre-2010
Mensajes: 77
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Insertar datos en un formulario desde una base de datos

No terminas la etiqueta form (</form>)..
En action="" deberías poner el nombre del archivo PHP al que le deseas enviar la información (por ejemplo action="obtenernombre.php" ), luego en el PHP (en este caso obtenernombre.php) usando $_POST['Nombre']; obtienes el nombre del proveedor que escogió.
__________________
Convert JSON to CSV
  #3 (permalink)  
Antiguo 15/04/2011, 09:09
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Insertar datos en un formulario desde una base de datos

Hola !!!
No entendi bien tu pregunta o k kieres que haga tu codigo, a lo que entiendo es que kieres guardar los datos del combo o de tu formulario a tu bd....

Bueno lo que he observado que en tu form no tienes a quien dirige esa informacion en el action lo tienes vacio
Código HTML:
Ver original
  1. <form id = "form1" name="form1" method="post" action="">

y si es asi, tu formulario no sabe a donde dirigir el proceso de esa informacion...

y otra recomendacion :
Puedes poner este codigo en un archivo de php

Código PHP:
Ver original
  1. <?php  
  2. function Conectarse()
  3. {
  4.    if (!($link=mysql_connect("NombreTuServidor","TuUsuario","Tucontraseña")) )
  5.        {
  6.           echo "Error conectando a la base de datos.";
  7.           exit();
  8.        }    
  9.     if (!mysql_select_db("TuBase deDatos",$link))
  10.        {
  11.           echo "Error seleccionando la base de datos.";
  12.           exit();
  13.        }
  14.    return $link;
  15. }
  16. ?>


y ya despues en tus demas archivos que utilices por ejemplo debes de redireccionar tu formulario y al principio pones

<?php
include("Nombre k le pusiste al archivo anterior");
$link=Conectarse();

y ya no es necesario estar escribiendo todo lo de la conexion de la bd una y otra vez solo mandas a traer el archivo.....

Bueno solo un consejo: Vale !! Espero te ayude de algo mi informacion ... Saludos !!!!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #4 (permalink)  
Antiguo 15/04/2011, 09:17
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: Insertar datos en un formulario desde una base de datos

Aqui te pongo un ejm. completo es de mi sistema, si funciona:

Pon atencion en donde esta en form en donde dice action es el nombre a donde se dirige, en este caso crea_usuarios.php y hace todo el procedimiento y a la hora de probar tu formulario ese archivo no se ve......


Código HTML:
Ver original
  1. <h1><center>
  2.   <p> </p>
  3.   </center></h1>
  4. <center><form action="crea_usuarios.php" method="POST">
  5.   <table width="415"  border="0">
  6.   <tr>
  7.     <td width="169" height="69"><b>Login (nick):</b></td>
  8.     <td width="236"><input size=30 type="text" name="login"></td>
  9.   </tr>
  10.   <tr>
  11.     <td height="61"><b>Password:</b></td>
  12.     <td><input size=30 type="password" name="pass1"></td>
  13.   </tr>
  14.   <tr>
  15.     <td height="60"><b>Repite Password:</b></td>
  16.     <td><input size=30 type="password" name="pass2"></td>
  17.   </tr>
  18.   <tr>
  19.     <td height="64"><b>Nombre:</b></td>
  20.     <td><input size=30 type="text" name="nombre"></td>
  21.   </tr>
  22.   <tr>
  23.     <td height="64"><b>Apellido Paterno: </b></td>
  24.     <td><input size=30 type="text" name="apaterno"></td>
  25.   </tr>
  26.   <tr>
  27.     <td height="67"><b>Apellido Materno:</b></td>
  28.     <td><input size=30 type="text" name="amaterno"></td>
  29.   </tr>
  30.   <tr>
  31.     <td height="75"><b>E-mail: </b></td>
  32.     <td><input size=30 type="text" name="email"></td>
  33.   </tr>
  34.   <tr><td><center><a href="login.php"> Volver Acceso </a></center>
  35.     <td ><center><input type="submit" name="Crear"></center></td>
  36.     </tr>
  37.  
  38.  
  39. </form>
  40. </center>
  41.  
  42. </body>
  43. </html>


y este es mi archivo de crea_usuario, donde fue dirigido

Código PHP:
Ver original
  1. <?php
  2. include("config.php");
  3. $login = htmlspecialchars(trim($_POST['login']));
  4. $pass1 = trim($_POST['pass1']);
  5. $pass2 = trim($_POST['pass2']);
  6. $nombre= htmlspecialchars(trim($_POST['nombre']));
  7. $apaterno= htmlspecialchars(trim($_POST['apaterno']));
  8. $amaterno= htmlspecialchars(trim($_POST['amaterno']));
  9. $email = htmlspecialchars(trim($_POST['email']));
  10. $link = Conectarse();
  11. $query = sprintf("SELECT login FROM usuarios WHERE usuarios.login='%s'",
  12. $result=mysql_query($query,$link);
  13. if(mysql_num_rows($result))
  14.   {
  15.    echo "El usuario ya existe en la BD";
  16.   }
  17.     else
  18.        {
  19.          mysql_free_result($result);        
  20.          if($pass1!=$pass2)
  21.                {
  22.                 echo "Los passwords deben coincidir";
  23.                 echo 'Click <a href="FORM.php"> aquí</a> para volver al formulario';
  24.                }         
  25.               if($login==NULL|$nombre==NULL|$apaterno==NULL|$amaterno==NULL|$pass1==NULL|$email==NULL)
  26.               {
  27.               echo "Uno o mas campos estan vacios, verifica bien tus datos";
  28.               echo '<a href="FORM.php">Volver</a>';
  29.               }
  30.                    else
  31.                        {                          
  32.                           $pass1=sha1(md5($pass1));                                                  
  33.                           $query = sprintf("INSERT INTO usuarios (login, nombre, apaterno, amaterno, password, email) VALUES ('%s','%s','%s', '%s','%s','%s')",
  34.                            mysql_real_escape_string($login),
  35.                            mysql_real_escape_string($nombre),
  36.                            mysql_real_escape_string($apaterno),
  37.                            mysql_real_escape_string($amaterno),
  38.                            mysql_real_escape_string($pass1),
  39.                            mysql_real_escape_string($email));              
  40.                            $result=mysql_query($query,$link);
  41.                            header('Location:login.php');
  42.                            if(mysql_affected_rows())
  43.                               {
  44.                                 echo "Usuario introducido correctamente";
  45.                               }
  46.                                 else
  47.                                   {
  48.                                     echo "Error introduciendo el usuario";
  49.                                   }
  50.                       }
  51.       }
  52. ?>


en tu base de datos debes de tener los mismos campos y checar que los nombres sean correctos si no no te los guarda.... y donde dice config.php es donde haces la conexion a la base de datos que te hice en el comentario pasado ....

Espero te sirva mi informacion ....Cualquier cosa me avisas

Saludos !!!!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!

Etiquetas: formulario
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:45.