Foros del Web » Programando para Internet » PHP »

Formularios con php y mysql

Estas en el tema de Formularios con php y mysql en el foro de PHP en Foros del Web. hola estoy empezando a aprender php, pero todavia no logro trabajar con formularios. Puedo conectarme a la base de datos pero nose como hacer para ...
  #1 (permalink)  
Antiguo 19/08/2008, 11:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Formularios con php y mysql

hola estoy empezando a aprender php, pero todavia no logro trabajar con formularios. Puedo conectarme a la base de datos pero nose como hacer para que al presionar el boton"ACEPTAR" los datos se guarden en mysql.
Este es mi codigo html mas el de conexion a la bd:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<h4><font face="arial" font color="black">Registrar usuarios</h4>
<form action="conexion.php" method="post">
<label for="labRut" ><font face="arial" >Rut </font></label><br/>
<input id="textrut" type="text" name="Rut" size="20" maxlength="10"value="" /><br /><br />
<label for="labnom">Nombre</label><br/>
<input id="texnom" type="text" name="nombre" size="20" maxlength="30" value="" /><br /><br />
<button type="submit" name="submit" value="1">Aceptar </button>
<button type="submit" name="submit" value="1" onclick="this.value=''">Borrar </button>
</form>

<?php
/* Coecta a la base de datos*/
$db_link = mysql_connect("localhost", "root", "1234");
if (!$db_link) {
die("Could not connect: " . mysql_error());
}
mysql_select_db("prueba") or die("No");
mysql_close($db_link);
?>

</BODY>
</HTML>

Mi problema es que nose como guardar el contenido de los TEXT .
Y tambien me gustaria saber como hago para que al presionar el boton "borrar campos" se limpien los text? asi como en VB es : text.text=""

Espero que me puedan ayudar, esto puedo paracerles muy facil alos que saben pero yo estoy recien comenzando con php.
gracias
  #2 (permalink)  
Antiguo 19/08/2008, 11:17
 
Fecha de Ingreso: julio-2008
Ubicación: Bogota
Mensajes: 19
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Formularios con php y mysql

Hola Daniel te puedo ayudar con lo de los botones de enviar y de limpiar

cambia esto

Código PHP:
<button type="submit" name="submit" value="1">Aceptar </button>
<
button type="submit" name="submit" value="1" onclick="this.value=''">Borrar </button
Pruebalo con esto , auque te digo hay mejores formas de hacerlo pero tendrias que utilizar CSS por lo menos lo hago con CSS.

Código PHP:
<button type="submit" name="Aceptar"  value="Aceptar" >Aceptar </button>
<
button type="reset"   name="Borrar" value="Borrar">Borrar </button

Saludos
  #3 (permalink)  
Antiguo 19/08/2008, 12:31
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Respuesta: Formularios con php y mysql

te hace falta por q solo tienes el formulario y la conexion a la db
agrega el insert

mysql_query("INSERT INTO usuarios (rut, nombre)
VALUES ('$_POST[rut]' , '$_POST[nombre]')");
  #4 (permalink)  
Antiguo 19/08/2008, 15:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Formularios con php y mysql

gracias, lo de el boton borrar funciona perfecto.
El INSERT se ejecuta bien ,osea no me da ningun error pero tampoco me guarda los datos, nose que mas me falta, despues de la conexion a la base de datos tengo esto:

$rut_usuario = $_POST["rut"];
$nom_usuario = $_POST["nombre"];

mysql_query("INSERT INTO usuarios (rut, nombre)
VALUES ('$_POST[rut]' , '$_POST[nombre]')");

al presionar el boton para guardar la pagina se queda en blanco.

que puede ser??
  #5 (permalink)  
Antiguo 19/08/2008, 16:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Formularios con php y mysql

Cambia esta linea:
Código PHP:
mysql_query("INSERT INTO usuarios (rut, nombre)
VALUES ('$_POST[rut]' , '$_POST[nombre]')"
); 
Por esta:
Código PHP:
mysql_query("INSERT INTO usuarios (rut, nombre)
VALUES ('$_POST[rut]' , '$_POST[nombre]')"
) or die(mysql_error()); 
A ver si estas ejecutando la consulta correctamente.
  #6 (permalink)  
Antiguo 19/08/2008, 17:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formularios con php y mysql

Lo que pasa es que no debes procesar la inserción de datos a menos que el formulario haya sido enviado.

Yo agregaría esto al principio:
Código PHP:
<?php
$error 
'';
if(isset(
$_POST['enviado'])) {
    
$rut $_POST['rut'];
    
$nombre $_POST['nombre'];
    
// Verificación de datos en base a valor numérico, tamaño de string, etc.
    // Tú decides como hacer la verificación de cada campo
    
if($datos_no_validos)
         
$error '<p>Aquí tu mensaje de error.</p>';
    else {
        
/* Conecta a la base de datos*/
        
$db_link mysql_connect("localhost""root""1234");
        if (!
$db_link)
            die(
"Could not connect: " mysql_error());
        
mysql_select_db("prueba") or die("No");
        
mysql_query("INSERT INTO usuarios (rut, nombre) VALUES ('$rut' , '$nombre')") or die(mysql_error());
        
mysql_close($db_link);
    }
}
?>
Y después modificaría el formulario agregando el campo "enviado" y el mensaje de error que puede ser una cadena vacía:
Código HTML:
<form action="conexion.php" method="post">
<input type="hidden" name="enviado" value="si" />
<?php echo $error; ?>
<label for="labRut" ><font face="arial" >Rut </font></label><br/> 
Finalmente quitaría los id="..." en los <input> y checaría que el contenido de name="..." sean sólo minúsculas, ejemplo name="Rut" cambiarlo por name="rut".
  #7 (permalink)  
Antiguo 22/08/2008, 12:36
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Formularios con php y mysql

ola otra vez,
cambie unas cosas de mi formulario, le agrege un input "radio" y un "list",pero no se como declararlos. ademas con el cambio que hice ahora no pasa nada al presionar el boton ACEPTAR, aqui les dejo todo el codigo por cualquier cosa:

HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registro de usuarios</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label>Rut<br />
<input type="text" name="rut" id="rut" maxlength="10" />
</label>
</form>
<label>Nombre<br />
<input type="text" name="nom" id="nom" />
<br />
</label>
<form id="form2" name="form2" method="post" action="">
<label>Ape. Paterno<br />
<input type="text" name="a_pat" id="a_pat" />
</label>
</form>
<form id="form3" name="form3" method="post" action="">
<label>Ape. Materno <br />
<input type="text" name="a_mat" id="a_mat" />
</label>
<p><label>Sexo<br />
<input type="radio" name="radio" id="masc" value="masc" />
Masculino</label>&nbsp;</p>
<p>
<label>
<input type="radio" name="radio" id="fem" value="fem" />
Femenino</label>
</p>
</form>
<form id="form4" name="form4" method="post" action="">
<label>Pais <br />
<select name="list" id="list">
<option>Chile</option>
<option>Argentina</option>
<option>Bolivia</option>
<option>Brasil</option>
<option>Colombia</option>
</select>
</label>
<p>&nbsp; </p>
<button type="reset" name="Aceptar" value="Aceptar">Aceptar </button>
<button type="submit" name="Borrar" value="Borrar" >borrar</button>
</form>

PHP:

<?
$rut = $_POST["rut"];
$nombre = $_POST["nom"];
$pat = $_POST["a_pat"];
$mat = $_POST["a_mat"];

$error = '';
if(isset($_POST['enviado'])) {
$rut = $_POST['rut'];
$nombre = $_POST['nombre'];

/* Conexión, seleccionar base de datos*/
$db_link = mysql_connect("localhost", "root", "1234");
if (!$db_link) {
die("No se pudo conectar: " . mysql_error());
}
mysql_select_db("prueba") or die("No se pudo seleccionar la base de datos");

/* SQL query */

mysql_query("INSERT INTO usuarios (rut_us, nom_us) VALUES ('$rut' , '$nombre','$pat','$mat')") or die(mysql_error());
mysql_close($db_link);
}

/* Cerrar conexión */
mysql_close($db_link);
?>
</body>
</html>
  #8 (permalink)  
Antiguo 23/08/2008, 12:38
 
Fecha de Ingreso: julio-2008
Ubicación: Bogota
Mensajes: 19
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Formularios con php y mysql

Hola amigo...

lo de los botones no te va realizar ninguna opcion dado que los tienes mal

Código PHP:
<button type="reset" name="Aceptar" value="Aceptar">Aceptar </button>
<
button type="submit" name="Borrar" value="Borrar" >borrar</button
y deben ser asi

Código PHP:
<button type="submit" name="Aceptar" value="Aceptar">Aceptar </button>
<
button type="reset" name="Borrar" value="Borrar" >borrar</button

Veo tambien unos errores en el php por ejemplo

Código PHP:
utilizas 

mysql_close
(tuconexion)

2 veces.. 
Y muchos otros mas tarde te los comento lo que pasa es que estoy con un proyecto grande de PHP y no tengo tiempo

Saludos;
  #9 (permalink)  
Antiguo 27/08/2008, 07:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Formularios con php y mysql

que otros errores?? se que me faltaron unos campos en el insert, pero cuales son los otros? disculpa pero no se nada de php y de verdad quiero aprender.
saludos.
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 09:26.