|
Mostrar Mensajes
|
Páginas: 1 2 3 4 5 [6] 7
|
51
|
Programación / PHP / Problema con estos códigos
|
en: 1 Marzo 2010, 17:00 pm
|
Hola ! que tal, estoy con un "pequeño problemita" la cuestión es la siguiente. Quiero hacer un apartado de un panel de control para modificar un perfil. Tengo los siguientes códigos: 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.'; //no ha seleccionado usuario, }else{ //comprobamos si esa id existe $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'; } } ?>
A su vez en la tabla de modificar perfil pongo lo siguiente para obtener los datos de la bd: <td width="292"><input name="firstname" type="text" id="firstname" value="<?php echo $firstname;?>"></td>
El function.php: <?php function getfname($id) { $query = mysql_query("select * from prueba where id=$id"); $firstname= $getname["firstname"]; return $firstname; } function getlname($id) { $query =mysql_query("select * from prueba where id=$id"); $lastname=$getname["lastname"]; return $lastname; } function getusuario($id) { $query=mysql_query("select * from prueba where id=$id"); $usuario=$getname["usuario"]; return $usuario; } function getgender ($id) { $query=mysql_query("select * from prueba where id=$id"); $gender=$getname["Genero"]; return $gender; } ?>
El getdata.php: <?php include "connect.php"; $query=mysql_query("select * from prueba where id=$id"); $firstname=$getname["firstname"]; $lastname=$getname["lastname"]; $usuario=$getname["usuario"]; $gender=$getname["genero"]; ?>
El connect.php: <?php if(!defined('INCLUDE_CHECK')) die('No estás autorizado a ejecutar este archivo directamente'); /* Database config */ $db_host = 'localhost'; $db_user = 'user'; $db_pass = 'xxxx'; $db_database = 'prueba'; /* End config */ $link = mysql_connect($db_host,$db_user,$db_pass) or die('Imposible establecer la conexión a la base de datos'); ?>
El error que me tira todo esto es que "No estás autorizado a ejecutar este archivo directamente"Gracias de antemano por tomarse el trabajo de leerlo.
|
|
|
52
|
Programación / PHP / Re: Como hago con este codigo?
|
en: 23 Febrero 2010, 15:54 pm
|
Encontré la solución, el problema era que al crear la base de datos en el phpMyAdmin, debía ponerle en "Cotejamiento" utf8_unicode_ci. Cosa que no estaba puesto. Ahora funciona perfecto!
|
|
|
53
|
Programación / PHP / Re: Como hago con este codigo?
|
en: 22 Febrero 2010, 17:31 pm
|
Hola nuevamente, tengo un pequeño problema otra vez, la verdad es que lo habia solucionado, pero no se que pasó, tengo el mismo error otra vez. "This username is already taken". Alguien me podrá ayudar? <?php error_reporting(E_ALL ^ E_NOTICE); session_start(); define('INCLUDE_CHECK',true); require 'connect.php'; require 'functions.php'; // Those two files can be included only if INCLUDE_CHECK is defined session_name('tzLogin'); // Starting the session session_set_cookie_params(2*7*24*60*60); // Making the cookie live for 2 weeks session_start(); if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe']) { // If you are logged in, but you don't have the allnurseRemember cookie (browser restart) // and you have not checked the rememberMe checkbox: $_SESSION = array(); session_destroy(); // Destroy the session } if(isset($_GET['logoff'])) { $_SESSION = array(); session_destroy(); header("Location: demo.php"); exit; } if($_POST['submit']=='Login') { // Checking whether the Login form has been submitted $err = array(); // Will hold our errors if(!$_POST['username'] || !$_POST['password']) $err[] = 'All the fields must be filled in!'; if(!count($err)) { $_POST['username'] = mysql_real_escape_string($_POST['username']); $_POST['password'] = mysql_real_escape_string($_POST['password']); $_POST['rememberMe'] = (int)$_POST['rememberMe']; // Escaping all input data $row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_POST['username']}' AND pass='".md5($_POST['password'])."'")); if($row['usr']) { // If everything is OK login //$_SESSION['username']=$row['user']; $_SESSION['usr']=$row['usr']; $_SESSION['id'] = $row['id']; $_SESSION['type'] = $row['type']; $_SESSION['rememberMe'] = $_POST['rememberMe']; // Store some data in the session setcookie('tzRemember',$_POST['rememberMe']); } else $err[]='Wrong username and/or password!'; } if($err) $_SESSION['msg']['login-err'] = implode('<br />',$err); // Save the error messages in the session header("Location: demo.php"); exit; } else if($_POST['submit']=='Register') { // If the Register form has been submitted $err = array(); if(strlen($_POST['firstname'])>100) { $err[]='Your lastname must be less 100 characters!'; } if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['firstname'])) { $err[]='Your firstname contains invalid characters!'; } if(strlen($_POST['lastname'])>100) { $err[]='Your lastname must be less 100 characters!'; } if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['lastname'])) { $err[]='Your lastname contains invalid characters!'; } if(strlen($_POST['username'])<4 || strlen($_POST['username'])>100) { $err[]='Your username must be between 4 and 100 characters!'; } if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username'])) { $err[]='Your username contains invalid characters!'; } if(strlen($_POST['password'])<6 || strlen($_POST['password'])>32) { $err[]='Your username must be between 6 and 32 characters!'; } if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['password'])) { $err[]='Your password is weak!'; } if($_POST['repassword']!=$_POST['password']) { $err[]='Your retype password is different than password!'; } if(!checkEmail($_POST['email'])) { $err[]='Your email is not valid!'; } if(!count($err)) { // If there are no errors $_POST['email'] = mysql_real_escape_string($_POST['email']); $_POST['password'] = mysql_real_escape_string($_POST['password']); $_POST['username'] = mysql_real_escape_string($_POST['username']); $_POST['firstname'] = mysql_real_escape_string($_POST['firstname']); $_POST['lastname'] = mysql_real_escape_string($_POST['lastname']); $_POST['type'] = mysql_real_escape_string($_POST['type']); // Escape the input data mysql_query(" INSERT INTO tz_members(firstname,lastname,user,password,email,type,dt) VALUES('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['email']."','".$_POST['type']."',NOW())"); if(mysql_affected_rows($link)==1) { send_mail( 'name@yourdomain.com', $_POST['email'], 'Registration for Demo', 'Your username is: '.$username.'\n Your password is: '.$password); $_SESSION['msg']['reg-success']='We sent you an email with your login data!'; } else $err[]='This username is already taken!'; } if(count($err)) { $_SESSION['msg']['reg-err'] = implode('<br />',$err); } header("Location: demo.php"); exit; } $script = ''; if($_SESSION['msg']) { // The script below shows the sliding panel on page load $script = ' <script type="text/javascript"> $(function(){ $("div#panel").show(); $("#toggle a").toggle(); }); </script>'; } ?>
<html> <head> </head> <body> <!-- Panel --> <div id="toppanel"> <div id="panel"> <div class="content clearfix"> <?php if(!$_SESSION['id']): ?> <div class="left"> <!-- Login Form --> <form class="clearfix" action="" method="post"> <h1>Member Login</h1> <?php if($_SESSION['msg']['login-err']) { echo '<div class="err">'.$_SESSION['msg']['login-err'].'</div>'; unset($_SESSION['msg']['login-err']); } ?> <label class="grey" for="username">Login ID:</label> <input class="field" type="text" name="username" id="username" value="" size="23" /> <label class="grey" for="password">Password:</label> <input class="field" type="password" name="password" id="password" size="23" /> <label><input name="rememberMe" id="rememberMe" type="checkbox" checked="checked" value="1" /> Remember me</label> <div class="clear"></div> <input type="submit" name="submit" value="Login" class="bt_login" /> </form> </div> <form action="" method="post"> <div class="left right"> <!-- Register Form --> <h1>Not a member yet? Sign Up!</h1> <?php if($_SESSION['msg']['reg-err']) { echo '<div class="err">'.$_SESSION['msg']['reg-err'].'</div>'; unset($_SESSION['msg']['reg-err']); } if($_SESSION['msg']['reg-success']) { echo '<div class="success">'.$_SESSION['msg']['reg-success'].'</div>'; unset($_SESSION['msg']['reg-success']); } ?> <label class="grey" for="firstname">First Name/Company Name:</label> <input class="field" type="text" name="firstname" id="firstname" value="" size="23" /> <label class="grey" for="lastname">Last Name/Company Short Name:</label> <input class="field" type="text" name="lastname" id="lastname" value="" size="23" /> <label class="grey" for="username">Login ID:</label> <input class="field" type="text" name="username" id="username" value="" size="23" /> <label class="grey" for="password">Password:</label> <input class="field" type="password" name="password" id="password" value="" size="23" /> </div> <div class="left"> <label> </label> <label> </label> <label class="grey" for="repassword">Retype Password:</label> <input class="field" type="password" name="repassword" id="repassword" value="" size="23" /> <label class="grey" for="type">Type:</label><select name="type" id="type" style="background-color:#666666; color:#CCCCCC; border-color:#000000; border-style:solid; border-width:thin"> <option value="Applicant">Applicant</option> <option value="Company">Company</option> </select> <label class="grey" for="email">Email:</label> <input class="field" type="text" name="email" id="email" size="23" /> <label>Your login data will be e-mailed to you.</label> <input type="submit" name="submit" value="Register" class="bt_register" /> </form> </div> <?php else: ?> <div class="left"> <p> </p><br /><br /><br /><br /><p> </p><br /><br /><br /><br /><p> </p><br /><br /> <a href="?logoff"><strong>Log out</strong></a> </div> <?php endif; ?> </div> </div> <!-- /login -->
<!-- The tab on top --> <div class="tab"> <ul class="login"> <li class="left"> </li> <li>Hello <?php if($_SESSION['id']) {echo $_SESSION['username'];} else echo 'Guest'; ?> !</li> <li class="sep">|</li> <li id="toggle"> <a id="open" class="open" href="#"><?php echo $_SESSION['id']?'Open Panel':'Log In | Register';?></a>
<a id="close" style="display: none;" class="close" href="#">Close Panel</a> </li> <li class="right"> </li> </ul> </div> <!-- / top --> <div> <!--panel --></div>
<?php if(isset($_SESSION['id'])) { // If you are logged in. include("registered.php"); } ?> </body> </html>
|
|
|
55
|
Programación / PHP / Re: Como hago con este codigo?
|
en: 12 Febrero 2010, 17:33 pm
|
Hola dejo la tabla de la base de datos, por si alguien me quiere dar una mano, no le encuentro el error. CREATE TABLE `tz_members` ( `id` int(11) NOT NULL auto_increment, `usr` varchar(32) collate utf8_unicode_ci NOT NULL default '', `pass` varchar(32) collate utf8_unicode_ci NOT NULL default '', `firstname` varchar(32) collate utf8_unicode_ci NOT NULL default '', `lastname` varchar(32) collate utf8_unicode_ci NOT NULL default '', `type` varchar (32) collate utf8_unicode_ci NOT NULL default '', `email` varchar(255) collate utf8_unicode_ci NOT NULL default '', `regIP` varchar(15) collate utf8_unicode_ci NOT NULL default '', `dt` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `usr` (`usr`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
|
57
|
Programación / PHP / Como hago con este codigo?
|
en: 10 Febrero 2010, 23:43 pm
|
Hola, tengo una pregunta acerca de este código, la cuestion es que al querer hacer el registro siempre en el formulario, me dice "This username has already taken",ademas si no se registra en la bd, como ya va a estar siendo usado?. Dejo el código a ver si me pueden dar una mano.(La parte en negrita calculo que debe estar provocando esto) <?php error_reporting(E_ALL ^ E_NOTICE); session_start();
define('INCLUDE_CHECK',true);
require 'connect.php'; require 'functions.php'; // Those two files can be included only if INCLUDE_CHECK is defined
session_name('tzLogin'); // Starting the session
session_set_cookie_params(2*7*24*60*60); // Making the cookie live for 2 weeks
session_start();
if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe']) { // If you are logged in, but you don't have the allnurseRemember cookie (browser restart) // and you have not checked the rememberMe checkbox:
$_SESSION = array(); session_destroy(); // Destroy the session }
if(isset($_GET['logoff'])) { $_SESSION = array(); session_destroy(); header("Location: demo.php"); exit; }
if($_POST['submit']=='Login') { // Checking whether the Login form has been submitted $err = array(); // Will hold our errors if(!$_POST['username'] || !$_POST['password']) $err[] = 'All the fields must be filled in!'; if(!count($err)) { $_POST['username'] = mysql_real_escape_string($_POST['username']); $_POST['password'] = mysql_real_escape_string($_POST['password']); $_POST['rememberMe'] = (int)$_POST['rememberMe']; // Escaping all input data $row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_POST['username']}' AND pass='".md5($_POST['password'])."'")); if($row['usr']) { // If everything is OK login //$_SESSION['username']=$row['user']; $_SESSION['usr']=$row['usr']; $_SESSION['id'] = $row['id']; $_SESSION['type'] = $row['type']; $_SESSION['rememberMe'] = $_POST['rememberMe']; // Store some data in the session setcookie('tzRemember',$_POST['rememberMe']); } else $err[]='Wrong username and/or password!'; } if($err) $_SESSION['msg']['login-err'] = implode('<br />',$err); // Save the error messages in the session
header("Location: demo.php"); exit; } else if($_POST['submit']=='Register') { // If the Register form has been submitted $err = array(); if(strlen($_POST['firstname'])>100) { $err[]='Your lastname must be less 100 characters!'; } if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['firstname'])) { $err[]='Your firstname contains invalid characters!'; } if(strlen($_POST['lastname'])>100) { $err[]='Your lastname must be less 100 characters!'; } if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['lastname'])) { $err[]='Your lastname contains invalid characters!'; } if(strlen($_POST['username'])<4 || strlen($_POST['username'])>100) { $err[]='Your username must be between 4 and 100 characters!'; } if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username'])) { $err[]='Your username contains invalid characters!'; } if(strlen($_POST['password'])<6 || strlen($_POST['password'])>32) { $err[]='Your username must be between 6 and 32 characters!'; } if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['password'])) { $err[]='Your password is weak!'; } if($_POST['repassword']!=$_POST['password']) { $err[]='Your retype password is different than password!'; } if(!checkEmail($_POST['email'])) { $err[]='Your email is not valid!'; } if(!count($err)) { // If there are no errors $_POST['email'] = mysql_real_escape_string($_POST['email']); $_POST['password'] = mysql_real_escape_string($_POST['password']); $_POST['username'] = mysql_real_escape_string($_POST['username']); $_POST['firstname'] = mysql_real_escape_string($_POST['firstname']); $_POST['lastname'] = mysql_real_escape_string($_POST['lastname']); $_POST['type'] = mysql_real_escape_string($_POST['type']); // Escape the input data mysql_query(" INSERT INTO tz_members(firstname,lastname,user,password,email,type,dt) VALUES('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['email']."','".$_POST['type']."',NOW())"); if(mysql_affected_rows($link)==1) { send_mail( 'name@yourdomain.com', $_POST['email'], 'Registration for Demo', 'Your username is: '.$username.'\n Your password is: '.$password);
$_SESSION['msg']['reg-success']='We sent you an email with your login data!'; } else $err[]='This username is already taken!'; }
if(count($err)) { $_SESSION['msg']['reg-err'] = implode('<br />',$err); } header("Location: demo.php"); exit; }
$script = '';
if($_SESSION['msg']) { // The script below shows the sliding panel on page load $script = ' <script type="text/javascript"> $(function(){ $("div#panel").show(); $("#toggle a").toggle(); }); </script>'; } ?>
|
|
|
59
|
Programación / PHP / Re: Algun ejemplo de una pagina de perfil de usuarios?
|
en: 28 Enero 2010, 19:58 pm
|
guiarda con perfil.php, puede haber vulnerabilidad, lo posteas a si lo vemos?
Recien tengo una pagina perfil.php que no tiene diseño ni nada, pero una de las cosas que queria saber es si se puede cambiar el tema de que cuando redirije a perfil.php lo hace de la forma http://localhost/index/perfil/perfil.php?user=xxxx, por lo tanto hay forma de que en vez de user, sea id?, porque sino cualquier persona podrá cambiar la url e ingresar y editar el perfil de otro usuario. Ahora se puede hacer lo que mencioné anteriormente de la tabla?, que se actualicen más adelante cuando el usuario se haya registrado?
|
|
|
60
|
Programación / PHP / Re: Algun ejemplo de una pagina de perfil de usuarios?
|
en: 28 Enero 2010, 18:20 pm
|
Bueno gracias por responder, digamos mi idea es hacer la tabla de usuarios, con los campos "username","password", "email"; y ponerle más campos, es decir, que cuando se registre y vaya a su perfil, pueda completar más datos, y que éstos se actualicen, mediante un UPDATE. Será posible? Acá está el codigo de registro.php <?php // Configura los datos de tu cuenta $dbhost='localhost'; $dbusername='usuario_bd'; $dbuserpass='password_bd'; $dbname='bd_name'; // Conexión a la base de datos mysql_connect("localhost", "usuario_bd","password_bd" ) or die(mysql_error()); mysql_select_db("nombre_tabla" ) or die(mysql_error());
// Preguntaremos si se han enviado ya las variables necesarias if (isset($_POST["username"] ) ) { $username = $_POST["username"]; $password = md5 ($_POST["password"]); $cpassword = md5 ($_POST["cpassword"]); $email = $_POST["email"]; // Hay campos en blanco if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) { echo "Hay campos vacíos"; }else{ // ¿Coinciden las contraseñas? if($password!=$cpassword) { echo "Las contraseñas no coinciden"; }else{ // Comprobamos si el nombre de usuario o la cuenta de correo ya existían $checkuser = mysql_query("SELECT username FROM users WHERE username='$username'" ) ; $username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'" ) ; $email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) { echo "EL nombre de usuario o la cuenta de correo estan ya en uso"; }else{ //Todo parece correcto procedemos con la inserccion $query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')"; mysql_query($query) or die(mysql_error()); echo "El Usuario $username ha sido registrado de manera satisfactoria. Ahora puedes iniciar sesion"; } } } } ?>
Y el de login: <?php // Configura los datos de tu cuenta $dbhost='localhost'; $dbusername='usuario_bd'; $dbuserpass='password_bd'; $dbname='bd_name';
// Conectar a la base de datos mysql_connect("localhost", "usuario_bd","password_bd" ) or die(mysql_error()); mysql_select_db("nombre_tabla" ) or die(mysql_error());
if ($_POST['username'] ) { //Comprobacion del envio del nombre de usuario y password $username=$_POST['username']; $password=$_POST['password']; if ($password==NULL) { echo "Debes escribir el password"; }else{ $password=md5($_POST['password']); $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error()); $data = mysql_fetch_array($query); if($data['password'] != $password) { echo "Usuario o contraseña incorrectos, si todavia no eres usuario puedes registrarte<a href='http://localhost/index/registro.html'> Aqui</a>"; }else{ $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error()); $row = mysql_fetch_array($query); $_SESSION["s_username"] = $row['username']; echo '<META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://localhost/index/perfil/perfil.php?user='.$username.'"> '; } } } ?> den_22
|
|
|
|
|
|
|