Foros del Web » Programando para Internet » PHP »

obtener y guardar el valor de un campo en una BD

Estas en el tema de obtener y guardar el valor de un campo en una BD en el foro de PHP en Foros del Web. ola programadores lo q necesito saber es como hago para obtener el valor del campo de una base de datos llamod perfil, despues valido al ...
  #1 (permalink)  
Antiguo 06/05/2009, 08:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
obtener y guardar el valor de un campo en una BD

ola programadores

lo q necesito saber es como hago para obtener el valor del campo de una base de datos llamod perfil, despues valido al usuario por su nickname y contraseña y de acuerdo a loq posea en el campo "perfil" lo envio a una pagina diferente...

les agradesco la ayuda con este problema...
  #2 (permalink)  
Antiguo 06/05/2009, 08:24
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Respuesta: obtener y guardar el valor de un campo en una BD

Hola camilosanto,

Podrias comentar que base de datos estas usando para poder ayudarte mejor.

Saludos!!!
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 06/05/2009, 08:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Respuesta: obtener y guardar el valor de un campo en una BD

ps estoy utilizando mysql...

y en el formulario para ingresar nuevos usuarios, para q no ingresen los datos escritos de otra manera, lo tengo con una combo box y hay deje predeterminado los usuarios
  #4 (permalink)  
Antiguo 06/05/2009, 08:35
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: obtener y guardar el valor de un campo en una BD

despues de tus conexion despues de seleccionar tu tabla
puedes hacer algo asi
Cita:
$resultado1=mysql_fetch_array($consulta1);
$nombre=$resultado1['nombre'];
$correo=$resultado1['e-mail'];
para obtener el valor de un campo saludines!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #5 (permalink)  
Antiguo 06/05/2009, 08:44
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Respuesta: obtener y guardar el valor de un campo en una BD

Ok, mira si ya tienes tu formulario deberas tener un campo tipo submit para enviar dicho formulario y enlazarlo con tu codigo php, ahora puedes enviar los datos mediante el metodo POST o GET (URL), normalmente se usa POST así que debes recojer tus variables usando esta sintaxis: $variable=$_POST['nombre del campo'];

Ahora ya que recojes las variables prueba imprimirlas para ver si lo que tienen es lo que enviaste ECHO $variable;

Luego has tu consulta, poniendo antes tu variable de conexion o haciendo referencia al archivo donde guardes los datos de tu conexion:
Código:
$sel="Select perfil from tabla where nick='nickname' and pass='$password'";
$res=mysql_query($sel) or die('Consulta fallida: ' . mysql_error());
$resultado=mysql_fetch_array($res);

echo $resultado[0];
Despues solo usa comparaciones para en base a lo que diga el campo perfil (que se selecciona al momento de logearte) redireccionas a la pagina que corresponde a dicho perfil: if($resultado[0]=="Administrador"){redicciono a la pagina de administrador}

Saludos!!!
__________________
"Eres grande por que caminas entre gigantes"

Última edición por ferbux; 06/05/2009 a las 08:53
  #6 (permalink)  
Antiguo 06/05/2009, 08:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Respuesta: obtener y guardar el valor de un campo en una BD

no, no funciono..
aqui les doy el codigo y me podrian decir si es q lo tengo mal planteado o si le debo agregar algo mas


<?
$usuario = $_POST["usuario"];
$id = $_POST["password"];
mysql_connect("*******","********","*******");
mysql_select_db ("**********");
$ssql = "SELECT Usuario,contrasena FROM datos_usuario WHERE Usuario='$usuario' and contrasena='$id' ";
$rs = mysql_query($ssql);
//VERIFICA SI EL USUARIO Y CONTRASEÑA SON válidoS
if (@mysql_num_rows($rs)!=0)
{
$res = "SELECT Nombre,Apellido,Perfil FROM datos_usuario WHERE Usuario='$usuario'";
$query=mysql_query($res);
$row=mysql_fetch_array($query);
$perfil= $row['Perfil'];
session_start();
$_SESSION["Nombre"]=$row[0];
$_SESSION["Apellido"]=$row[1];
$_SESSION["Perfil"]=$row[2];
$_SESSION["autentificado"]="SI";
if ($perfil=="perfil1" );
{
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_ingeniero.php'; </script>";
}
if ($perfil=="Invitado");
{
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_invitado.php'; </script>";
}
if ($perfil=="pefil2" || $perfil=="perfil2.2");
{
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil2.php'; </script>";
}
if ($perfil=="perfil3" || $perfil=="perfil3.3");
{
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil3.php'; </script>";
}
if ($perfil=="perfil4");
{
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil4.php'; </script>";
}
}
else
{
echo "<script type=\"text/javascript\">alert('Pa ' ver si funciono');
location.href='autentificacion.php'; </script>";
}
?>

Última edición por camilosanto; 06/05/2009 a las 08:58
  #7 (permalink)  
Antiguo 06/05/2009, 08:58
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Respuesta: obtener y guardar el valor de un campo en una BD

En tus consultas mysql simpre usa $res=mysql_query($sel) or die('Consulta fallida: ' . mysql_error()); para ver cualquier error que se genere por el lado de mysql.

Luego impime siempre las variables o arreglos que resulaten de una consulta o de el envio de un formulario, esto con el fin de ver que las varibles realmente tengan algun valor y poder solucionar algun problema en caso de que alguna llegue o no se asigne valor.

Código:
......
$row=mysql_fetch_array($query);
print_r($row);
....
__________________
"Eres grande por que caminas entre gigantes"
  #8 (permalink)  
Antiguo 06/05/2009, 09:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Respuesta: obtener y guardar el valor de un campo en una BD

no la consulta la hace bn...

lo malo es q me redirecciona al usuario a la direccion q encuentra en el primer if y no a la q se supone q deberia ir
te agradesco la ayuda

saludos
  #9 (permalink)  
Antiguo 06/05/2009, 09:07
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Verifica (imprime $row) que se asigna a la variable perfil en esta asignacion valga la redundancia:

$perfil= $row['Perfil'];

Otra cosa en tu consulta

$res = "SELECT Nombre,Apellido,Perfil FROM datos_usuario WHERE Usuario='$usuario'";

seguro que nada mas tienes un usuario con el mismo nombre a eleguir por que no usas and password='$id' para que delimites mas tu consulta.
__________________
"Eres grande por que caminas entre gigantes"

Última edición por GatorV; 07/05/2009 a las 12:23
  #10 (permalink)  
Antiguo 06/05/2009, 09:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
ey gracias...jjejejeje
ya vi cual era el error
la consulta como te dije estaba bn
simplemente era el montaje del codigo
cambie los if y cree un switch con case's para los usuarios y asi funciono
gracias por tu ayuda y a harvestmoon

saludos programadores

moacho de nuevo yo...

q le paso al codigo q ya hoy no quiere funcionar y me sigue pasando el problema de los usuarios?????...
acaso sirve x dias????
aqui lo anexo a uds....


<?
$usuario = $_POST["usuario"];
$id = $_POST["password"];
mysql_connect("*********","********","******");
mysql_select_db ("******");
$ssql = "SELECT Usuario,contrasena FROM datos_usuario WHERE Usuario='$usuario' and contrasena='$id' ";
$rs = mysql_query($ssql);
//VERIFICA SI EL USUARIO Y CONTRASEÑA SON válidoS
if (@mysql_num_rows($rs)!=0)
{
$res = "SELECT Nombre,Apellido,Perfil FROM datos_usuario WHERE Usuario='$usuario' and contrasena='id'";
$query=mysql_query($res) or die('Consulta fallida: ' . mysql_error());
$row=mysql_fetch_array($query);
$perfil= $row['Perfil'];
session_start();
$_SESSION["Nombre"]=$row[0];
$_SESSION["Apellido"]=$row[1];
$_SESSION["Perfil"]=$row[2];
$_SESSION["autentificado"]="SI";
switch ($perfil)
{
case ($perfil=="perfil1" ):
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil1.php'; </script>";
break;
case ($perfil=="pefil2"):
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil2.php'; </script>";
break;
case ($perfil=="perfil3" || $perfil=="pefil3.1"):
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil3.php'; </script>";
break;
case ($perfil=="perfil4" || $perfil=="perfil4.1"):
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil.php'; </script>";
break;
case ($perfil=="perfil5");
echo "<script type=\"text/javascript\">alert('Autenticacion Existosa');
location.href='opciones_perfil5.php'; </script>";
break;
}
}
else
{
echo "<script type=\"text/javascript\">alert('Pa ' ver si funciono');
location.href='autentificacion.php'; </script>";
}
?>


les agradesco la ayuda q me presten

Última edición por GatorV; 07/05/2009 a las 12:24
  #11 (permalink)  
Antiguo 07/05/2009, 11:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Respuesta: obtener y guardar el valor de un campo en una BD

olas

moachos, haciendo las pruebas en un localhost, me encontre q en el codigo no hace efecto la funcion session_start() y por esto envia al usuario a la primera ubicacionq encuentra, quisiera saber si ay otro codigo q cumpla la misma funcion q este

gracias por atender este mensaje
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 03:58.