|
Mostrar Mensajes
|
Páginas: 1 2 3 4 [5] 6 7
|
41
|
Programación / PHP / Re: Perfil de un usuario, problema!
|
en: 7 Marzo 2010, 19:47 pm
|
Nakp, igual dice undefined variable getname, lo puse de esta manera. Pero si ya está declarada en function. Voy a tirar la compu por la ventana <?php include("connect.php"); $usuario=$getname["usuario"]; $query=mysql_query("select * from prueba where usuario='$usuario'"); $firstname=$getname["firstname"]; $lastname=$getname["lastname"]; $gender=$getname["genero"]; ?>
|
|
|
42
|
Programación / PHP / Re: Perfil de un usuario, problema!
|
en: 7 Marzo 2010, 16:57 pm
|
Bueno Nakp, hice lo que dijiste. Te comento uso el ZendStudio, para hacer debug en el codigo. Cambié en el modificarperfil.php: <?php include('function.php'); include('getdata.php'); include('connect.php'); //incluimos el connect.php que contiene los datos de la conexión a la db y la sesión if(!isset($_GET['usuario'])){ echo 'No se ha seleccionado ningun usuario.'; }else{ $query=mysql_query("SELECT * FROM prueba WHERE usuario='$usuario' "); //todo comprobado, ahora solo falta mostrar los datos echo 'Bienvenid@ <b>'.$usuario[usuario].'</b><br>'; }else{ echo 'El usuario seleccionado no existe'; } } ?>
En el getdata.php: <?php include("connect.php"); $query=mysql_query("select * from prueba where usuario='$usuario'"); $usuario=$getname["usuario"]; $firstname=$getname["firstname"]; $lastname=$getname["lastname"]; $gender=$getname["genero"]; ?>
Y el function.php: <?php function getfname($usuario) { $query = mysql_query("select * from prueba where usuario='$usuario' "); $firstname= $getname["firstname"]; return $firstname; } function getlname($usuario) { $query =mysql_query("select * from prueba where usuario='$usuario' "); $lastname=$getname["lastname"]; return $lastname; } function getusuario($usuario) { $query=mysql_query("select * from prueba where usuario='$usuario' "); $usuario=$getname["usuario"]; return $usuario; } function getgender ($usuario) { $query=mysql_query("select * from prueba where usuario='$usuario' "); $gender=$getname["Genero"]; return $gender; } ?>
Ahora el problema es que al hacer el debug en modificarperfil, siempre salta la linea del "No se ha seleccionado ningun usuario", o sea creo que no sigue las lineas siguientes. Traté de quitarle al getdata el include ('connect.php') pero despues no se podia conectar. Y en el getdata, en la linea 7 un notice de Undefined variable, $query=mysql_query("select * from prueba where usuario='$usuario'");
. Traté de definirlo mas arriba pero ni ahi. Bueno gracias a todos. realmente faltaría hacer todo el script denuevo
+1 Castg! es lo que hay,
|
|
|
43
|
Programación / PHP / Re: Perfil de un usuario, problema!
|
en: 7 Marzo 2010, 05:32 am
|
intentalo así: <?php include("function.php"); include("getdata.php"); include("connect.php"); if(isset($_GET['usuario'])){ SELECT * FROM prueba LIMIT 1 ")){ $usuario = $usuario[0]; } echo ' Bienvenid@ <br /> '; }else{ echo 'El usuario seleccionado no existe'; } }else{ echo 'No se ha seleccionado ningun usuario.'; } ?>
recuerda que mysql_fetch_array() te entrega un array dimensional por cada resultado, por lo tantoo el primer valor es $usuario[0]. prueba con un print_r($usuario); Donde dice: if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['firstname'])) no necesitas ser tan restrictivo, puedes mantener todo tipo de carácteres si sabes procesarlos bién. saludos. Bueno muchas gracias, por tomarte el trabajo, pero no hay forma, tal vez me haya olvidado de declarar $usuario. Es tarde y no me da la cabeza ya, jaja. Por cierto es "no necesitas ser tan restrictiva" jaja, soy mujer. Gracias, saludos
|
|
|
44
|
Programación / PHP / Re: Perfil de un usuario, problema!
|
en: 7 Marzo 2010, 05:13 am
|
Acá posteo por las dudas el script del index.php <?php require("connect.php"); //Archivos incluidos solo si el INCLUDE_CHECK está definido //Empezando la sesión //La cookie vive por 2 semanas if($_SESSION['id'] && !isset($_COOKIE['pRemember']) && !$_SESSION['rememberMe']) { //Si está logueado, pero no tiene la cookie dmRemember (el navegador se reinicia) // y si no ha checkeado la rememberMe checkbox: //Destruir la sesion } if(isset($_GET['logoff'])) { header("Location: index.php"); } if($_POST['submit']=='Ingresar') { //checando si el login form ha sido submit //Tira los errores nuestros if(!$_POST['username'] || !$_POST['password']) $err[]='Todos los campos deben ser completados!'; { $_POST['rememberMe']=(int)$_POST['rememberMe']; //escaping all input data if($row['usuario']) { //Si todo está logueado correctamente //$_SESSION['username']=$row['user']; $_SESSION['usuario']=$row['usuario']; $_SESSION['id']=$row['id']; $_SESSION['sexo']=$row['sexo']; $_SESSION['rememberMe']=$_POST['rememberMe']; //Store some data in the session setcookie('dmRemember',$_POST['rememberMe']); } else $err[]='Usuario y/o Password incorrectos!'; } if($err) $_SESSION['msg']['login-err']=implode('<br />', $err); //Guardamos los mensajes de error en la sesion header("Location: index.php"); } else if($_POST['submit']=='Registrar') { //Si el formulario de registro ha sido enviado if(strlen($_POST['firstname'])>100) { $err[]='Tu nombre(s) debe tener menos de 100 caracteres!'; } if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['firstname'])) { $err[]='Tu nombre(s) contiene caracteres inválidos!'; } if(strlen($_POST['lastname'])>100) { $err[]='Tu apellido debe tener menos de 100 caracteres!'; } if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['lastname'])) { $err[]='Tu apellido contiene caracteres inválidos!'; } if(strlen($_POST['username'])<4 || strlen($_POST['username'])>100) { $err[]='Tu nombre de usuario debe tener entre 4 y 100 caracteres!'; } if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username'])) { $err[]='Tu nombre de usuario contiene caracteres invalidos!'; } if(strlen($_POST['password'])<6 || strlen($_POST['password'])>32) { $err[]='Tu contraseña debe tener entre 6 y 32 caracteres!'; } if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['password'])) { $err[]='Tu contraseña es débil!'; } if($_POST['repassword']!=$_POST['password']) { $err[]='Tu repeticion de password es distinta de la primera!'; } if(!checkEmail($_POST['email'])) { $err[]='Tu email no es válido!'; } { //Si no hay errores //Escape the input data mysql_query(" INSERT INTO prueba(firstname,lastname,usuario,pass,email,sexo,dt) VALUES('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['email']."','".$_POST['sexo']."',NOW())"); { send_mail( 'test@test.com', $_POST['email'], 'Registración de prueba', 'Tu nombre de usuario es: '.$username.'\n Tu contraseña es: '.$password); $_SESSION['msg']['reg-success']='Te hemos enviado un email con tu información de registro!'; } else $err[]='El nombre de usuario ya está en uso!'; } { $_SESSION['msg']['reg-err']=implode('<br />',$err); } header("Location: index.php"); } ?>
Ya cambié $usuario por $query. No sé que mas hacer,
|
|
|
46
|
Programación / PHP / Re: Perfil de un usuario, problema!
|
en: 6 Marzo 2010, 02:56 am
|
Bueno primero gracias por responder, a los que se hayan tomado el trabajo de hacerlo.Segundo queria comentarles, el warning ya no me salta en el getdata.php, pero en el mismo archivo tengo un notice de undefined variable: usuario. Lo que yo quiero hacer es que al tocar en modificar perfil, le salten los datos de la bd, pero por ahora nada... Cambié en el modificarperfil.php esto que me dijeron: //comprobamos si esa id existe $query=mysql_query("SELECT * FROM prueba WHERE usuario='$usuario' ");
Pero aún no pasa nada, alguien tiene alguna idea de qué puede ser lo que esté funcionando mal?
|
|
|
47
|
Programación / PHP / Perfil de un usuario, problema!
|
en: 5 Marzo 2010, 04:44 am
|
Hola que tal, estoy haciendo un modificar perfil. La cuestion es que quiero que el usuario al presionar sobre modificar perfil le aparezcan algunos datos que completó en el registro, y los demás deba rellenarlo. Tengo un Warning en la linea 11 del getdata.php: "mysql_fetch_array(): supplied argument is not a valid MySQL result resource"Lo que tengo hasta ahora es lo siguiente: modificarperfil.php: <?php include("function.php"); include("getdata.php"); include("connect.php"); //incluimos el connect.php que contiene los datos de la conexión a la db y la sesión if(!isset($_GET['usuario'])){ echo 'No se ha seleccionado ningun usuario.'; }else{ $query=mysql_query("SELECT * FROM prueba WHERE usuario=$usuario "); //todo comprobado, ahora solo falta mostrar los datos echo 'Bienvenid@ <b>'.$usuario[usuario].'</b><br>'; }else{ echo 'El usuario seleccionado no existe'; } } ?>
El function.php: <?php function getfname($usuario) { $query = mysql_query("select * from prueba where usuario=$usuario"); $firstname= $getname["firstname"]; return $firstname; } function getlname($usuario) { $query =mysql_query("select * from prueba where usuario=$usuario"); $lastname=$getname["lastname"]; return $lastname; } function getusuario($usuario) { $query=mysql_query("select * from prueba where usuario=$usuario"); $usuario=$getname["usuario"]; return $usuario; } function getgender ($usuario) { $query=mysql_query("select * from prueba where usuario=$usuario"); $gender=$getname["Genero"]; return $gender; } ?>
El getdata.php: <?php include "connect.php"; $query=mysql_query("select * from prueba where usuario=$usuario"); $firstname=$getname["firstname"]; $lastname=$getname["lastname"]; $usuario=$getname["usuario"]; $gender=$getname["genero"]; ?>
Lo que yo quiero es que me aparezcan en el formulario los datos a los que consulta en la bd. En el formulario lo hago de esta forma: <tr> <td width="219">Nombre:</td> <td width="270"><input name="firstname" type="text" id="firstname" value="<?php echo $firstname;?>"></td> </tr>
Esta es la base de datos, al hacer la consulta me devuelve un valor vacio, pero está completo ese valor. CREATE TABLE `prueba` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `firstname` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `lastname` VARCHAR(40) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `usuario` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `pass` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `sexo` VARCHAR (32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `email` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `usuario` (`usuario`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Gracias por leerlo, den_22
|
|
|
50
|
Programación / PHP / Re: Problema con estos códigos
|
en: 2 Marzo 2010, 03:06 am
|
Puse lo que me dijiste pero me tira un error ahora en el index.php <?php require("connect.php"); //Archivos incluidos solo si el INCLUDE_CHECK está definido ?>
Esto es lo que tengo al inicio del index.php hay más pero asumo que el error está por aca. cambié el connect.php con lo que me dijiste pero ahora no puedo abrir el index, me dice parse error on line 3 que es en la que dice define('INCLUDE_CHECK', true)
|
|
|
|
|
|
|