Dreamwevaer y mysql

Hola soy yo otra vez, ya vez que em habías comentado que hiciera otra pregunta ya ek al momento de abrir mi pregunta ya se te trababa, y pues bueno ya abrí otra pregunta, solo que eh decidido hacer ya con código, hice yo la conexión de la base de datos solo que no se si sea correcta
Este mi código de la conexión, no me marco ningún error:
<?php
$server = "localhost";
   // nombre de tu servidor, por lo general es localhost así que no necesitaras cambiarlo
$database = "egresados";
   // nombre de la base de datos
$db_user = "root";
   // Usuario de mysql para acceder a la BD, si estas en local por lo general es root, o si has creado un usuario especifico ponlo acá.
$db_pass = "root";
   // contraseña del usuario de mysql
// conectando a la Base de datos
$enlace = mysql_connect($server, $db_user, $db_pass) or die ('Error al intentar conectar: '.mysql_error());  
$db_enlace = mysql_select_db($database, $enlace);
if(!$db_enlace)
{
die('Error al intentar seleccionar la base de datos: '. Mysql_error());
}
?>
Pero ahora necesito guardar los datos que se ingresan en un formulario de dreamweaver 8 en my base de datos mysql, es como un registro para la página, ¿y ese código en donde se pondría? ¿En el botón? ¿Para al momento de dar click en siguiente se guarde en la bd y se pase a al siguiente pantalla para continuar con el registro?
tienes algun codigo del cual me pueda basar para ahcer esto??
estos datos son lo que tengo en mi bd:
NUM_CONTRO
APELLIDO_PATERNO
APELLIDO_MATERNO
NOMBRE(S)
CARRERA_EGRESO
Especialidad
ID (es mi llave primaria, este es de auto incremento, según los datos que se vayan metiendo se incrementa solo)
Sexo
Calle
Numero
Colonia
C.P.
Ciudad
Municipio
Estado
Teléfono(lada)
e-mail
Celular
SEMESTRE_EGRESO
AÑO_EGRESO
Titulado

1 respuesta

Respuesta
1
Te voy a enseñar un código pequeño para que veas como sería el procedimiento. Este código sería una nueva página en PHP a la que deberías añadir en la primera línea una llamada a la conexión a tu base de datos (que es el código que me has puesto y que supongo que habrás guardado como: "conexión.php" o similar.
Para abrir la base de datos tienes que llamar a esa conexión, en todas las páginas que la vayas a utilizar, y lo haces de esta manera:
<?php require_once('carpeta_de_la_conexion/conexion.php'); ?>
Y después ya pones el código de la página. En este caso te pongo como haría yo el formulario, la comprobación de errores y la asignación de valores a la base. Solo tienes que seguir esa estructura a la hora de trabajar.
¿Por qué? Bueno, de esta forma, se presenta el formulario, si hay errores (faltan datos por cubrir, o se han introducido mal por ejemplo), se vuelve a mostrar el formulario, los datos bien introducidos se vuelven a mostrar en el formulario para no hacer que lo rellenen muchas veces, y se muestra un mensaje de error en los campos que tiene que corregir. Además, cuando llega la hora de incluirlos a la base de datos, ya estamos seguros de que son correctos y evitamos errores de SQL. Finalizado el ingreso de datos mostramos los datos introducidos, esto es opcional, claro, puedes redirigirle a la página que quieras o al mismo formularios si tiene que meter más datos.
Te incluyo diversos tipos de datos para que veas como se pueden evaluar y guardar. Y además te muestro como se pueden mostrar los datos de la base, ahora me pides saber como meterlos, pero en algún momento los tendrás que mostrar y aprovecho el mismo código.
Tendrás que cambiar el nombre de la conexión, la base de datos, etc.
<?php require_once('carpeta_de_la_conexion/conexion.php'); ?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style type="text/css">
.error
{
color:#CC0000

</style>
</head>
<body>
<?PHP
// Tomamos los valores introducidos en el formulario
$nombre = $_REQUEST['nombre'];
$genero = $_REQUEST['genero'];
$pais = $_REQUEST['pais'];
$enviar = $_REQUEST['enviar'];
// Creamos una función para crear opciones del formulario y guardar los datos seleccionados por el usuario
function opcion_seleccionada($pais)
{
switch ($pais)
{
case "España":
print ("<option selected>España<option>Francia<option>Alemania");
break;
case "Francia":
print ("<option>España<option selected>Francia<option>Alemania");
break;
case "Alemania":
print ("<option>España<option>Francia<option selected>Alemania");
break;
default:
print ("<option selected>España<option>Francia<option>Alemania");
break;
}
}
//Crear una funcion para ver los datos de la base
function listar_datos_base($base)
{
$consulta = mysql_query("SELECT * FROM $base");
$nfilas = mysql_num_rows($consulta);
print ("
<h3>Nombre,Genero,Pais</h3>
<br />");
for ($i=0;$i<$nfilas;$i++)
{
$fila = mysql_fetch_array($consulta);
echo ("'{$fila['nombre']}','{$fila['genero']}','{$fila['pais']}'<br />");
}
}
// Comprobamos si hay algún error
$error = false;
if (isset($enviar)) //Si se ha pulsado el botón de Enviar
{
// Campos de la base de datos, se comprueban todos
if (trim($nombre) == "")
     {
       $errores["nombre"] = " Debe introducir su nombre";
       $error = true;
     }
     else
       $errores["nombre"] = "";
if (!$genero)
{
       $errores["genero"] = "Debe seleccionar el género";
       $error = true;
     }
     else
       $errores["genero"] = "";
   }
// Si los datos son correctos, procesamos formulario e insertamos los datos
   if (isset($enviar) && $error==false)
   {
      print ("<H1>El Formulario se ha enviado correctamente</H1> <br />");
      print ("
<p>Estos son los datos introducidos:</p>
");
      print ("Nombre y Apellidos: $nombre <br />");
      print ("Género: $genero <br />");
      print ("Pais: $pais <br />");
//Conectamos a la base de datos
$conexion = mysql_connect ("localhost","root","");
mysql_select_db("curso_php_bases",$conexion);
mysql_query("INSERT INTO datos(nombre,genero,pais) VALUES ('{$_POST['nombre']}','{$_POST['genero']}','{$_POST['pais']}')")
 or die ("ERROR. No se han actualizado los datos");
//aquí pongo un enlace a esta misma página, si quiere meter más datos se vuelve a cargar
      print ("
<p> <a href='3-ejemplo envio a bd.php'>Nuevos datos</a> </p>
");
 print ("
<h2>Datos introducidos hasta ahora:</h2>
<br />");
 listar_datos_base(datos);
mysql_close($conexion);
   }
   else
   {
?>
<H2>Base de datos</H2>
<form method="post">
<p>Nombre y Apellidos:<input type="text" size="30" name="nombre"
<?PHP
if (isset($enviar))
   print ("value='$nombre'>");
 else
   print (">");
if ($errores["nombre"] != "")
  print ("<span class='error'>" . $errores["nombre"] . "</span>");
?>
</p>
<p>Buscar en: <input type="radio" name="genero" value="Hombre" 
<?php if ((isset($enviar)) && ($genero =="Hombre")) print "checked"?>>Hombre <!--Guarda el valor si ya había sido introducido o no selecciona ninguno-->
<input type="radio" name="genero" value="Mujer"
                    <?php if ((isset($enviar)) && ($genero =="Mujer")) print "checked"?>>Mujer <!--Guarda el valor si ya había sido introducido o no selecciona ninguno-->
<?PHP
if ((isset($enviar)) && ($errores["genero"]!=""))
print ("<span class='error'> No ha seleccionado un género </span>");
?>
    </p>
<p>Pais:<select name="pais">
<?PHP opcion_seleccionada($pais);?>
</select>
</p>
<p><input type="submit" name="enviar" value="Enviar"> 
 <input type="reset" name="Borrar" value="Borrar" >
    </p>
</FORM>
<?PHP
   }
?>
</body>
Lo siento, pero es más fácil que crees una pequeña base de datos con estos campos para comprobar como funciona, a que yo cree un formulario completo y una base con tantas tablas como la que me has puesto.
Espero que te sirva, sobre todo la forma de trabajo que deberías seguir. Mucho más sencillo es poner el formulario arriba del todo y al pulsar meter los datos en la base, pero si te acostumbras a trabajar de esta otra forma los formularios serán muy cómodos para el usuario al no tener que repetirlo entero si se equivoca en algo, y tú evitarás meter en la base de datos cosas sin sentido.
Kike
¿No te ha servido lo que te he enviado?
No, y no se porque, ahorita pues kite ese código y lo que hice fue hacerlo desde dreamweaver en: insertar, objeto de aplicación, insertar registro, insertar registro, y de allí cada texbox que te tengo la vinculo con una campo de mi base de datos, pero el problema es que no me sale el botón para al darle clic se guarden los datos y me mande a la siguiente pantalla, y el problema es que en esa pantalla tengo varios form, y pues necesito un botón que em gusrade todo lo que tengan esos form
El botón lo insertas igualmente desde dreamwaever, es así si lo quieres poner a mano (antes de cerrar el </form>):
<input type="submit" name="enviar" value="Enviar">
Ese código está probado en todos los navegadores y funciona, elimina la línea:
<?php require_once('carpeta_de_la_conexion/conexion.php'); ?>
si no la tienes creada para que no te de error, crea una base de datos y llámala:
curso_php_bases
crea los campos
nombre, genero y país, todos de texto
Cambia la línea:
$conexion = mysql_connect ("localhost","root","");
por
$conexion = mysql_connect ("localhost","root","root"); (me parece que tu contraseña era root, yo la tengo vacía.
Y prueba como funciona, aprende y vete cambiando y añadiendo tus campos, poco a poco hasta que funcione del todo. Si no sabes php cualquier error tonto te deja sin funcionar nada.
Kike
Me marca un error en esta función "get_magic_quotes_gpc" y es que tengo el php6, lo que hice fue quitar el appserv anterior que tenia y puse otra version pero con el php5 voy a verificar si así me deja de marcar varios errores
Saludos!
Es que esa función no existe en PHP6 por eso te da ese error

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas