Foros del Web » Programando para Internet » PHP »

Ingresar Datos a Una Base de Datos

Estas en el tema de Ingresar Datos a Una Base de Datos en el foro de PHP en Foros del Web. Buenas tardes grupo Les comento rapido estoy iniciando con php y realize un pequeño programita para la alta de usuarios pero no logro sincronizar lo ...
  #1 (permalink)  
Antiguo 21/09/2008, 16:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Ingresar Datos a Una Base de Datos

Buenas tardes grupo


Les comento rapido estoy iniciando con php y realize un pequeño programita para la alta de usuarios pero no logro sincronizar lo capturado con la base me podrian ayudar a corregir el programa anexo el programa y la estructura de la base y al parecer el problema es en la sincronizacion de la base de datos


gacias por su ayuda y comprension

****conecta.php*****
<?
$dbhost="localhost"; // host del MySQL
$dbusuario="root"; // nombre de usuario
$dbpassword="1234"; // password de acceso Mysql
$db= "bases" ; // Seleccionamos la base con la cual se trabajara
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword) or die ('Error con la conexion . <br> Por favor checar la conexion.');
mysql_select_db( $db, $conexion);
?>


****altas.php***
<?
include('conecta.php');
if($_POST['Enviar']){
$Nombre = $_POST['Nombre'];
$Apellido = $_POST['Apellido'];
$Login = $_POST['Login'];
$Email = $_POST['Email'];
$Password = $_POST['Password'];
$sql = "INSERT
usuario(login, nombre, apellido, password, email)
VALUES
('$Nombre', '$Apellido', '$Login', '$Email', '$Password' )";
@mysql_query($sql) or die ('No pudo ejecutarse la consulta');
echo "El empleado ".$Apellido.", ".$Nombre." de Login ".$Login." ha sido dado de alta correctamente.<br />";
echo "Su clave es: ".$Password." . Guardela en un lugar seguro ya que no podra cambiarla en caso de perderla.";
}else{
?>
<form id="form1" name="form1" method="post" action="<? $_SERVER['PHP_SELF']?>">
<p>Alta empleado</p>
<label>Nombre
<input type="text" name="Nombre" />
</label>
<br />
<label>Apellido
<input type="text" name="Apellido" />
</label>
<br />
<label>Login
<input type="text" name="Login" />
</label>
<br />
<label>Email
<input type="text" name="Email" />
</label>
<br />
<label>Password
<input type="text" name="Password" />
</label>
<br />
<input type="submit" name="Enviar" value="Enviar" />
</form>
<?
};
?>



Base de Datos(bases-usuario)
ID int(10) No
login char(8) Sí NULL
nombre char(30) Sí NULL
Apellidos char(30) Sí NULL
Password char(6) Sí NULL
Email char(25) Sí NULL
  #2 (permalink)  
Antiguo 21/09/2008, 17:25
 
Fecha de Ingreso: enero-2008
Mensajes: 62
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Ingresar Datos a Una Base de Datos

"INSERT
usuario(login, nombre, apellido, password, email)
VALUES...

en esta linea hay un error

deberia ir asi:
INSERT INTO usuario (login, nombre, apellido, password, email) VALUES...
__________________
Haslo facil, tan facil como puedas
  #3 (permalink)  
Antiguo 21/09/2008, 17:39
 
Fecha de Ingreso: diciembre-2007
Ubicación: C:\Escritorio\Frente al Pc
Mensajes: 47
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Ingresar Datos a Una Base de Datos

bueno si dices altas de usuario con eso no basta, debes leer un poco de sesiones en php si es a lo que va tu codigo...aca te dejo una forma super simple de hacer un sistema de usuarios:

login.php
Código PHP:
<?
session_start
();
if(isset(
$SESSION)){
header("location: index.php"); /* Si ha iniciado la sesion, vamos a user.php */
} else { 
/* Cerramos la parte de codigo PHP porque vamos a escribir bastante HTML y nos será mas cómodo así que metiendo echo's */
?>
<?
session_start
();
$server="localhost"/* Nuestro server mysql */
$database="tubase"/* Nuestra base de datos */
$dbpass="tupass"/*Nuestro password mysql */
$dbuser="tuuser"/* Nuestro user mysql */
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server,$dbuser,$dbpass);
$result=mysql_db_query($database,$query,$link);
if(
mysql_num_rows($result)==0){
echo 
"No existe el login introducido";
} else {
$array=mysql_fetch_array($result);
if(
$array["password"]==crypt($pass,"semilla") ){
/* Comprobamos que el password encriptado en la BD coincide con el password que nos han dado al encriptarlo. Recuerda usar la misma semilla para encriptar los dos passwords. */
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: master.php");

} else {
echo 
"Password incorrecto!";
/* Cerramos este ultimo else */
/* Cerramos el else que corresponde a la comprobación de que el login existe */

?> 
<html><head><title>Necesita identificación! </title></head>
<body>
<center><h1>Identificate! :D </h1></center>
<form action="login.php" method="POST">
Login: <input type="text" name="login"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" value="Entrar">
</form>
</body></html>
<?
/* Y cerramos el else */ 
?>
logout.php

Código PHP:
<?
session_start
();
if(!isset(
$SESSION)){
header("location: login.php");
} else {
session_unset();
session_destroy();
echo 
"Las variables de sesión han sido eliminadas, y la sesión se ha dado por finalizada correctamente ;-)";
}
?>
register.php

Código PHP:
<?
include "config.php";
if (
$adduser) {

$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($host,$user,$pass);
$result=mysql_db_query($dbname,$query,$link);
if(
mysql_num_rows($result)){
echo 
"El usuario ya existe en la BD";
} else {
mysql_free_result($result);
/* Ahora comprovamos que los dos pass coinciden */
if($pass1!=$pass2) {
echo 
"Los passwords deben coincidir<br>";
echo 
'Clica <a href="page.php?modulo=adduser">aquí</a> para volver al formulario';
} else {
$pass1=crypt($pass2"semilla"); 

/* Encripatmos el password, con la clave "semilla" que debes sustituirpor la que mas les guste. Hay otros metodos de encriptacion, mirad en php.net si quieres conocerlos. */

$query="INSERT INTO usuarios (login, nombre, apellidos, password, email) VALUES ('$login','$nombre','$apellidos','$pass1','$email')";

$result=mysql_db_query($dbname,$query,$link);
if(
mysql_affected_rows($link)){
echo 
"
<meta http-equiv="
refresh" content= "5url=index.php">
Usuario introducido correctamente"
;
} else {
echo 
"
<meta http-equiv="
refresh" content= "1url=register.php">Error introduciendo el usuario";
/* Cierre del else */
/* Cierre del else que corresponde a if(mysql_affected_rows.....) */
/* Cierre del else que corresponde a if(mysql_num_rows...) */
}

?>
<table width="500" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<form action="register.php" method="POST">
<tr>
<td width="213">
Login:</td>
<td width="281">
<input type="text" name="login"></td>
</tr>
<tr>
<td>
Password:</td>
<td>
<input type="password" name="pass1"></td>
</tr>
<tr>
<td>
Repite Password:</td>
<td>
<input type="password" name="pass2"></td>
</tr>
<tr>
<td>Nombre:</td>
<td><input type="text" name="nombre"></td>
</tr>
<tr>
<td>Apellidos:</td>
<td><input type="text" name="apellidos"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td height="24" colspan="2" align="center" valign="top">
  <input type="submit" name="adduser" value="Agregar Usuario"></td>
</tr>
</form>
</table>
index.php

Código PHP:
<?
session_start
();
if(!isset(
$SESSION)){
echo 
"Usted no ha iniciado sesión en el sistema.";
} else {
echo 
"<html><body>";
echo 
"Bienvenido " $SESSION["nombre"] . " " $SESSION["apellidos"]." ";

echo 
"<a href='logout.php' target='_top'>Cerrar Sesión</a>";
echo 
"</body></html>";
}
?>
la base de datos

/////////////////////////////////////////////////////////

CREATE TABLE IF NOT EXISTS `usuarios` (
`id` tinyint(4) NOT NULL auto_increment,
`nombre` text,
`apellidos` text,
`login` varchar(40) default NULL,
`password` varchar(20) default NULL,
`email` text,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


///////////////////////////////////////////////////////////////////////

y el config.php

Código PHP:
<?php
// DB Configuracion


$host "localhost";
$user "root"
$pass "tupas"
$dbname "db"
$conecta = @mysql_connect($host$user$pass) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
@
mysql_select_db($dbname$conecta);

?>
y eso lee mas sobre sesiones en php para mostrar contenido a tus usuarios y no a los invitados :P saludos cualkier error me dices porke los estaba modificando no estaba muy bien el code esop :P
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




La zona horaria es GMT -6. Ahora son las 19:25.