Foros del Web » Programando para Internet » PHP »

Datos de formulario a base de datos y "viceversa"

Estas en el tema de Datos de formulario a base de datos y "viceversa" en el foro de PHP en Foros del Web. Hola , bueno tengo una web de un juego (Lineage 2) y estaba creando un "creador de cuentas" , y mire muchisimos posts , guias ...
  #1 (permalink)  
Antiguo 14/09/2009, 04:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 18
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Datos de formulario a base de datos y "viceversa"

Hola , bueno tengo una web de un juego (Lineage 2) y estaba creando un "creador de cuentas" , y mire muchisimos posts , guias y no me acabe aclarando. por ejemplo en la web l2tns.com en el apartado registrate hay uno , y queria hacer una imitacion , tengo un formulario , pero esta en html y era de prueba , solo queria que me dijerais como puedo enviar los datos que rellenan en este formulario , a la base de datos , ya que es muy complejo y me lia mucho... me podriais resolver estas dudas?

1 - Cómo hago para que cuando pulsen en "enviar" se envien esos datos a la base de datos?

2 - Cómo podria poner que cambien la contraseña desde la web? (por esto puse en el titulo "y viceversa" porque tiene que leer la contraseña que puso primero y confirmar que es la misma , para poder cambiarla...


PD: En la base de datos tengo una base de datos llamada mysql y dentro tengo 23 tablas y a la que le quiero enviar esos datos se llama "user" , desde ya muchas gracias ^^
  #2 (permalink)  
Antiguo 14/09/2009, 04:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Datos de formulario a base de datos y "viceversa"

Te sugiero leer el manual de este foro y verificar los aportes que han hecho muchos de este foro
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/09/2009, 04:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 18
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Datos de formulario a base de datos y "viceversa"

gracias por el manual , ya me lo mirare y si tengo dudas las posteo si no las encuentro solucionadas ^^
  #4 (permalink)  
Antiguo 14/09/2009, 08:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 18
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Datos de formulario a base de datos y "viceversa"

miren , me descargue un account manager , que se supone que hace todo eso , pero cuando lo configuro me da error al guardar , aqui dejo los codigos de los archivos (3 en total)

aqui esta el "cuenta.php" que tiene arriba el formulario y despues interpreta estos codigos.
Código:
<?
	if ($_POST)
	{
		require ("config.php");
		$login = $_POST['login'];
		$login_password = $_POST['login_password'];
		// Verificar si ya existe el login:
		$num_rows = mysql_num_rows(mysql_query("Select login from accounts where login = '".$login."'"));
		if ($num_rows == 0)
		{
			$time = time()*1000;
			$ip = $_SERVER['REMOTE_ADDR'];
			$login_password = base64_encode(pack("H*", sha1(utf8_encode($login_password))));
			$query = "Insert into accounts (login, password, lastactive, accesslevel, lastServerId, lastIP) VALUES ('$login','$login_password','$time','0','1','$ip')";
			$mk = mysql_query($query);
			$accion = mysql_affected_rows();
			if ($accion) { echo "Cuenta creada, ya puedes accedes al server."; } else { echo "Error!!, no se puedo crear la cuenta."; }
		}
		else
		{
			echo "Lo siento, esa cuenta ya existe.<br>Tienes que elegir otra.<br>";
		}
		
		
	}
?>
aqui el "config.php" que tiene los datos de donde tiene que ir el formulario.

Código:
<?
	// Seteo del server / MySQL:
	$host = "127.0.0.1";
	$user = "root";
	$password = "";
	$dbase = "l2jdb";
	@mysql_connect($host,$user,$password) or die ("Imposible conectar al servidor MySQL. Asegurese que la configuración es correcta.");
	@mysql_select_db($dbase) or die ("Imposible conectar a la base de datos. Asegurese que la configuración es correcta.");
?>
y aqui esta el ultimo , el "pass.php" para que puedan cambiar la contraseña de la base de datos desde el formulario

Código:
<?
	if ($_POST)
	{
		require ("config.php");
		$login = $_POST['login'];
		$login_password = $_POST['login_password'];
		$login_password = base64_encode(pack("H*", sha1(utf8_encode($login_password))));
		$login_nuevo_password = $_POST['login_nuevo_password'];
		$login_nuevo_password = base64_encode(pack("H*", sha1(utf8_encode($login_nuevo_password))));
		// Password y Login coinciden?
		$num_rows = mysql_num_rows(mysql_query("select * from accounts where login = '".$login."' and password = '".$login_password."'"));
		if ($num_rows==1)
		{
			$query = "Update accounts set password = '".$login_nuevo_password."' where password = '".$login_password."' and login = '".$login."'";
			$mk = mysql_query($query);
			$affected = mysql_affected_rows();
			if ($affected) { echo "<br>La actualización del password ha sido realizada.<br>"; } else { echo "<br>Error, no se puedo actualizar el password<br>"; }
		}
		else
		{
			echo "<br>Error, no se modificó la password porque no se han encontrado coincidencias.<br>";
		}
	}
?>

el formulario creo que no hace falta ponerlo ... espero que puedan ayudarme porq estoy muy liado...
  #5 (permalink)  
Antiguo 14/09/2009, 08:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Datos de formulario a base de datos y "viceversa"

Te sigo sugiriendo que leas los manuales. El problema es que si te corregimos todo lo que quieres hacer, lo posteas perfecto funciona bien, pero luego vas a venir con dudas similares porque no sabes como trabajar. Lee los manuales para que te puedas desenvolver.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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 21:30.