AYUDA con formulario que se carga desde mysql

Recién estoy empezando con el php así que aprendo de apoco, por hay hice cualquier cosa que no se acerca a lo que quiero así que desde ya les pido disculpas.

Concretamente necesito que de una base de datos mysql db usuario tabla usuarios que tiene 5 columnas, usuario - password - descripción - email - fecha

Se auto rellene ni bien se carga la pagina con solo poner el usuario las demás, o al menos el password.

Conseguí que una vez que se registra el usuario php traiga el login de este y lo ponga en la celda de usuario, pero no se como traer los otros valores. Intente escribir código, pero sin ningún éxito, siempre me devuelve "<br /><b>Notice</b>: Undefined variable: f in <b>I:\XAMMP\htdocs\Formphp\index.php</b> on line <b>62</b><br />" en la celda.

Espero puedan ayudarme.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
 <?php
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION['k_username'])) {
 echo '<b>'.$_SESSION['k_username'].'</b>.';
 echo '<p><a href="logout.php">Logout</a></p>';
}else{
 echo '<p><a href="login.php">Login</a></p>
 <p><a href="registrar.php">Registrar</a></p>';
}
?> 
<!-- hasta esa parte todo bien, porque despues pongo en el value nombre el codigo y me trae el usuario conectado -->
<!-- a partir de aca intento que me traiga el password tratando que tome el usuario que se logeo
aunque tambien podria tomar el valor de la celda nombre intente las dos formas sin ningun exito -->
<?
$con = mysql_connect('localhost', 'root', '') or die ('Error de conexión.');
mysql_select_db('usuario',$con);
$consulta = 'SELECT * FROM usuarios';
$query = mysql_query($consulta, $con);
$nombre = $_SESSION['k_username'];
if($nombre!="");
{ 
$traer= mysql_query ('SELECT * FROM usuarios WHERE usuario LIKE "'.$nombre.'"');
while($f=mysql_fetch_array($traer)) {
 echo $f['email'];
}
}
{ 
?>
<form id="form1" name="form1" method="post">
Nombre
<input name="nombre" type="text" id="textarea" value="<?php echo ''.$_SESSION['k_username'].'' ?>" size=45 />
<p>
Email
<input name="email" type="text" id="textarea2" value="<?php echo ''.$f['email'].'' ?>" size=45 />
</p>
<p>
Ocupación
<input name="ocupacion" type="text" id="textarea3" value="" size=45 />
</p>
<p>
Edad
<input name="edad" type="text" id="textarea4" value="" size=45 />
</p>
<p>
Sexo
<input name="sexo" type="text" id="textarea4" value="" size=45 />
</select>
<label>
<input type="submit" name="button" id="button" value="Guardar" onClick="this.form.action = 'Insertar.php'" />
</label>
<label>
<input type="submit" name="button2" id="button2" value="Mostrar" onClick="this.form.action = 'muestra.php'" />
</label>
</form>
<?
}
?> 
</body>
</html>

1 Respuesta

Respuesta

La variable $f solo existe en el while, fuera del while no existe por eso el error. Debes asignar el valor de $f a otra variable.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<?php
session_start();
echo 'Bienvenido, ';
if (isset($_SESSION)) {
echo '<b>'.$_SESSION.'</b>.';
echo '<p><a href="logout.php">Logout</a></p>';
}else{
echo '<p><a href="login.php">Login</a></p>
<p><a href="registrar.php">Registrar</a></p>';
}
?>
<!-- hasta esa parte todo bien, porque después pongo en el value nombre el código y me trae el usuario conectado -->
<!-- a partir de acá intento que me traiga el password tratando que tome el usuario que se logeo
aunque también podría tomar el valor de la celda nombre intente las dos formas sin ningún éxito -->
<?
$con = mysql_connect('localhost', 'root', '') or die ('Error de conexión.');
mysql_select_db('usuario',$con);
$consulta = 'SELECT * FROM usuarios';
$query = mysql_query($consulta, $con);
$nombre = $_SESSION;
if($nombre!="");
{
//$traer= mysql_query ('SELECT * FROM usuarios WHERE usuario LIKE "'.$nombre.'"');
$traer= mysql_query ('SELECT * FROM usuarios WHERE usuario = "'.$nombre.'"');
while($f=mysql_fetch_array($traer)) {
//echo $f;
$datos=$f;
}
}
//{
?>
<form id="form1" name="form1" method="post">
Nombre
<input name="nombre" type="text" id="textarea" value="<?php echo $datos['usuario']//''.$_SESSION.'' ?>" size=45 />
<p>
Email
<input name="email" type="text" id="textarea2" value="<?php echo $datos['email']//''.$f.'' ?>" size=45 />
</p>
<p>
Ocupación
<input name="ocupación" type="text" id="textarea3" value="" size=45 />
</p>
<p>
Edad
<input name="edad" type="text" id="textarea4" value="" size=45 />
</p>
<p>
Sexo
<input name="sexo" type="text" id="textarea4" value="" size=45 />
</select>
<label>
<input type="submit" name="button" id="button" value="Guardar" onClick="this.form.action = 'Insertar.php'" />
</label>
<label>
<input type="submit" name="button2" id="button2" value="Mostrar" onClick="this.form.action = 'muestra.php'" />
</label>
</form>
<?
//}
?>
</body>
</html>

Fijate que comenté algunas partes de código que no son necesarias o que están mal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas