Webmaster общности: Predpriemach.com | SearchEngines.bg

    Хубава система за регистрация

    Здравейте, написъх първата си система за регистрация. Според мен стана много добре!
    Започваме с урока 🙂

    members.sql

    CREATE TABLE `members` (
    `id` INT(8) NOT NULL auto_increment,
    `user` VARCHAR(255) NOT NULL,
    `pass` VARCHAR(255) NOT NULL,
    `pass2` VARCHAR(255) NOT NULL,
    `mail` VARCHAR(255) NOT NULL,
    PRIMARY KEY(`id`)
    );

    pmessages.sql

    CREATE TABLE `pmessages` (
    `title` varchar(255) NOT NULL default 'Untitled Message',
    `message` text NOT NULL,
    `touser` varchar(255) NOT NULL default '',
    `from` varchar(255) NOT NULL default '',
    `unread` varchar(255) NOT NULL default 'unread',
    `date` date NOT NULL default '0000-00-00',
    `id` int(15) NOT NULL auto_increment,
    `reply` varchar(15) NOT NULL default 'no',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;
    

    connect.php

    <?php
    DEFINE ('DB_USER', 'db potrebitel'); // Insert your database username into the quotes.
    DEFINE ('DB_PASSWORD', 'db parola'); // Insert your database password into the quotes.
    DEFINE ('DB_HOST', 'db host'); // This will most likely stay the same.
    DEFINE ('DB_NAME', 'db ime'); //Insert your actual database name in the quotes.
    
    $dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error());
    @mysql_select_db (DB_NAME) OR die('Could not select the database: ' . mysql_error() );
    ?>

    index.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
    <tr>
    <form name="form1" method="post" action="login.php">
    <td>
    <table width="100%" border="0" bgcolor="#FFFFFF">
    <tr>
    <td colspan="3"><strong><center>Потребителски Вход</center></strong></td>
    </tr>
    <tr>
    <td width="78"><center>Потребител:</center></td>
    <tr><td width="294"><center><input name="user" type="text" id="user"></center></td>
    </tr>
    <tr>
    <td><center>Парола:</center></td>
    <tr><td><center><input name="pass" type="text" id="pass"></center></td>
    </tr>
    <tr>
    <td><center><input type="submit" name="submit" value="Влез"></center></td>
    </tr>
    <br />
    <tr>
    <td><center><a href="reguser.html">Регистрирай се</a> | <a href="lostpass.php">Забравена парола</a></center></td>
    </tr>
    </table>
    </td>
    </form>
    </tr>
    <tr><td>
    <center>Статистика:
    <hr>
    <?php
    $db_host = 'db host';
    $db_user = 'db user';
    $db_password = 'db pass';
    $db_name = 'db name';
    
    
    mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
    mysql_select_db($db_name) or die(mysql_error());
    
    
    $our = mysql_query("SELECT id, user FROM members ORDER BY id DESC LIMIT 1");
    while($r=mysql_fetch_array($our)){
    echo "Най-новия: <b><a href=\"profile.php?id=".$r['id']."\">".$r['user']."</a></b><br>";
    }
    
    
    $our = mysql_query("SELECT count(id) as user_total FROM members");
    while($r=mysql_fetch_array($our)){
    echo "Имаме <b>" .$r['user_total']. "</b> потребители!";
    }
    ?>
    </center>
    </td></tr>
    </table>

    login.php

    <?php
    $host="db host"; // Host name
    $username="db user"; // Mysql username
    $password="db pass"; // Mysql password
    $db_name="db name"; // Database name
    $tbl_name="members"; // Table name
    
    // Connect to server and select databse.
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");
    
    // username and password sent from signup form
    $user=$_POST['user'];
    $pass=$_POST['pass'];
    
    $sql="SELECT * FROM $tbl_name WHERE user='$user' and pass='$pass'";
    $result=mysql_query($sql);
    
    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);
    // If result matched $myusername and $mypassword, table row must be 1 row
    
    if($count==1){
    // Register $user, $pass and redirect to file "loginpro.php"
    session_register("user");
    session_register("pass");
    header("location:loginpro.php");
    }
    else {
    echo "Грешен Потребител или Парола!";
    }
    ?>

    loginpro.php

    <?
    session_start();
    if(!session_is_registered(user)){
    header("location:index.php");
    }
    ?>
    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    Здравей!
    <br />
    <a href="messages.php">Лични съобщения</a>
    <br />
    <a href="members.php">Всички потребители</a>
    <br />
    <a href="logout.php">Излез</a>
    </body>
    </html>
    

    logout.php

    <?
    session_start();
    session_destroy();
    echo 'Ти излезе успешно! <a href="index.php">Влез</a>';
    ?>

    lostpass.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    Въведи Email адресът с който си се регистрирал!<br />
    <form action="" method="POST">
    E-mail: <input type="text" name="mail" size="15" />
    <input type="submit" value="Прати ми паролата!" />
    </form>
    
    <?php
    //попълвате информация за хост , бд потербител , бд парола и база данни
    $dbhost='db host';
    $dbusername='db user';
    $dbuserpass='db pass';
    $dbname='db name';
    
    // свързаваме се с базата данни
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    
    if (!mysql_select_db($dbname)) die(mysql_error());
    
    if($_POST['mail'])
    {
    $mail = $_POST['mail'];
    $checkemail = mysql_query("SELECT user,pass FROM members WHERE mail='$mail'");
    $row = mysql_fetch_array($checkemail);
    $numrows = mysql_num_rows($checkemail);
    if ($numrows!=0) {
    $user = $row['user'];
    $pass = $row['pass'];
    
    // изпращаме паролата
    $subject = "Вашата Парола (PHP-c0ders)";
    $message = "Уважаеми $nick този e-mail е изпратен, защото вие сте забравили вашата парола.
    Информация за вашия акаунт:
    Потребител: $user
    Парола: $pass
    
    Благодарим ви ,
    PHP-c0ders";
    
    mail($email, $subject, $message, "From: <phpc0ders@abv.bg>\nX-Mailer:PHP/" . phpversion());
    echo "<center>Паролата е изпратена успешно!</center>";
    }else{
    echo "<center>Няма регистриран потребител с такъв Email адрес!</center>";
    }
    }
    ?>
    

    members.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    
    <?php
    include('connect.php');
    $query="SELECT id,user,mail FROM members ORDER BY id DESC";
    $result=mysql_query($query);
    echo '<center><table border="1">
    <tr><td align="center" class="names" >Потребители:
    </td></tr>';
    while ($row=@mysql_fetch_row($result)) {
    if (strlen($row['1'])>49)
    {$points='...';}
    else
    {$points='';}
    $row['1'] = substr($row['1'],0,49);
    $row['1']=substr($row['1'],0 , 49);
    echo"<tr><td>Потребител: <a href=\"profile.php?id=$row[0]\">$row[1]$points</a> | Email: $row[2]</td></tr>";
    }
    echo "</table>";
    ?>

    messages.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <?php
    session_start();
    ob_start();
    if($_SESSION['user'])
    {
    echo '<center><div align="center"><b><a href="?page=inbox">ЛС-та</a>
    <br><a href="?page=write">Напиши ново ЛС</a></b></div>
    <a href="members.php">Всички потребители</a><br>
    <a href="logout.php">Излез</a><br></center>';
    $pmsesusername = $_SESSION['user'];
    include "connect.php";
    switch($_GET[page])
    {
    default:
    break;
    case 'write':
    if (!$_POST[send])
    {
    echo ("<center><form method='POST' style='margin: 0px;'>Избери потребител:<font color=red>*</font><br>
    <select name='to'>
    ");
    $getmembers = mysql_query("SELECT * FROM members ORDER BY 'user' ASC");
    while ($members = MySQL_Fetch_Array($getmembers)) {
    echo ("<center><option value='$members[user]'>$members[user]</option>");
    }
    echo ("<center>
    </select>
    <br>Заглавие:<font color=red>*</font>
    <br><input type='text' name='subject' size='20'>
    <br>Съобщение:<font color=red>*</font>
    <br><textarea rows='7' name='message' cols='35'></textarea>
    <br><input type='submit' value='Изпрати' name='send'>
    </form>
    ");
    }
    if ($_POST[to])
    {
    $subject = htmlspecialchars(addslashes("$_POST[subject]"));
    $message = htmlspecialchars(addslashes("$_POST[message]"));
    $to = htmlspecialchars(addslashes("$_POST[to]"));
    $send = mysql_query("INSERT INTO `pmessages` ( `title` , `message` ,
    `touser` , `from` , `unread` ,
    `date` ) VALUES ('$subject', '$message', '$to',
    '$pmsesusername', 'unread', NOW())");
    echo ("<center>Съобщението е изпратено!");
    }
    break;
    case 'delete':
    if (!$_GET[msgid])
    {
    echo ("<center>Sorry, but this is an invalid message!");
    }
    else
    {
    $getmsg = mysql_query("SELECT * from pmessages where id = '$_GET[msgid]'");
    $msg = mysql_fetch_array($getmsg);
    if ($msg[touser] != $pmsesusername)
    {
    echo ("<center>Неможе да си изпратите ЛС!");
    }
    else
    {
    $delete = mysql_query("delete from pmessages where id = '$_GET[msgid]'");
    echo ("<center>ЛС Изтрито!");
    }
    }
    break;
    case 'inbox':
    $get = mysql_query("SELECT * from pmessages where touser = '$pmsesusername' order by id desc");
    echo ("
    <table bgcolor='#dddddd' border='0' width='100%' cellspacing='0'>
    <tr>
    <td align='center'>Заглавие</td>
    <td align='center' width='125'>Изпратено от</td>
    <td align='center' width='97'>Дата</td>
    <td width='25'>Изтриване</td>
    </tr>
    </table>
    ");
    $nummessages = mysql_num_rows($get);
    if ($nummessages == 0)
    {
    echo ("<center>Нямате нови ЛС-та!");
    }
    else
    {
    echo("<table border='0' width='100%' cellspacing='1'>");
    while ($messages = mysql_fetch_array($get))
    {
    echo ("<center>
    <tr>
    <td><a href='?page=view&msgid=$messages[id]'>");
    if ($messages[reply] == yes)
    {
    echo ("<center>Отговор до: ");
    }
    echo ("<center>$messages[title]</a></td>
    <td width='125'>$messages[from]</td>
    <td width='97'>$messages[date]</td>
    <td width='25'><a href='?page=delete&msgid=$messages[id]'>Изтрий</a></td>
    </tr>");
    }
    echo ("<center></table>");
    }
    break;
    case 'view':
    if (!$_GET[msgid])
    {
    echo ("<center>Invalid message!");
    }
    else
    {
    $getmsg= mysql_query("SELECT * from pmessages where id = '$_GET[msgid]'");
    $msg = mysql_fetch_array($getmsg);
    if ($msg[touser] == $pmsesusername)
    {
    if (!$_POST[message])
    {
    $markread = mysql_query("Update pmessages set unread = 'read' where id = '$_GET[msgid]'");
    $msg[message] = nl2br(stripslashes("$msg[message]"));
    echo ("<center>
    <form method='POST' style='margin: 0px;'>
    <b>Изпратено от: $msg[from]</b><br><b>Subject: $msg[title]</b>
    <b><br>Съобщение:<br><u>$msg[message]</u></br></b>
    <b>Отговор:<br></b>
    <center><textarea rows='6' name='message' cols='45'></textarea></center>
    <input type='submit' value='Изпрати!' name='send'>
    </form>");
    }
    if ($_POST[message])
    {
    $message = htmlspecialchars(addslashes("$_POST[message]"));
    $do = mysql_query("INSERT INTO `pmessages` ( `title` , `message` , `touser` , `from` , `unread` ,
    `date`, `reply`) VALUES
    ('$msg[title]', '$message', '$msg[from]', '$pmsesusername',
    'unread', NOW(), 'yes')");
    echo ("<center>Съобщението е изпратено!");
    }
    }
    }
    break;
    }
    }
    else
    {
    echo "Нямате достъп! Моля <a href='index.php'>влезте</a>";
    }
    ?>

    profile.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <?PHP
    include ('connect.php');
    $query = "SELECT * FROM members where id='$_GET[id]'";
    $result = mysql_query($query);
    while($r=mysql_fetch_array($result))
    {
    $user=$r[user];
    $mail=$r[mail];
    
    
    $url1 = "$url";
    if(@fopen($url1, "r"))
    {
    $url="$url1";
    }
    else{
    for($x = 2; $x<=5; $x++)
    {
    $profile="profile0$x";
    $url1=str_replace('profile',$profile,$url);
    
    }
    if(@fopen($url1, "r"))
    {
    $url="$url1";
    }
    else{
    for($x = 2; $x<=4; $x++)
    {
    $profile="profile0$x";
    $url1=str_replace('profile05',$profile,$url);
    }
    }
    if(@fopen($url1, "r"))
    {
    $url="$url1";
    }
    else{
    for($x = 2; $x<=3; $x++)
    {
    $profile="profile0$x";
    $url1=str_replace('profile04',$profile,$url);
    }
    }
    if(@fopen($url1, "r"))
    {
    $url="$url1";
    }
    else{
    for($x = 2; $x<=2; $x++)
    {
    $media="media0$x";
    $url1=str_replace('profile03',"$profile",$url);
    }
    }
    if(@fopen($url1, "r"))
    {
    $url="$url1";
    }
    else{
    for($x = 2; $x<=1; $x++)
    {
    
    $url1=str_replace('profile02',$profile,$url);
    }
    }
    if(@fopen($url1, "r"))
    {
    $url="$url1";
    }
    else{
    
    }
    }
    }
    ?>
    Потребител: <b><?PHP echo"$user"; ?></b>
    <br />
    <?PHP if($mail==""){
    echo"Моля изберете потребителя на който искате да видите профила.";
    }else{ echo"Email: <b>$mail";} ?></b>
    <br />
    <?php
    
    $file = "count.txt";
    
    if (file_exists($file)) {
    $fp = fopen("$file", "r+");
    flock($fp, 1);
    $count = fgets($fp, 4096);
    $count += 1;
    fseek($fp,0);
    fputs($fp, $count);
    flock($fp, 3);
    fclose($fp);
    } else {
    echo "Can't find file, check '\$file'<BR>";
    }
    
    ?>
    <?php
    $zapis = $banner[$rnd]['img'];
    $fp = fopen("$zapis.txt", "a+");
    $count = fread($fp, 1024);
    fclose($fp);
    $count = $count + 1;
    
    echo "<br /><span style=\"font-family:verdana;font-size:11px;\">" . $banner[$rnd]['url'] . " - " . $count . " импресии</span>";
    
    $fp = fopen("$zapis.txt", "w");
    fwrite($fp, $count);
    fclose($fp);
    ?>

    reguser.html

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <form action="reguser.php" method="post">
    Потребител: <input type="user" name="user" />
    <br />
    Парола: <input type="pass" name="pass">
    <br />
    Парола: <input type="pass2" name="pass2">
    <br />
    Е-майл: <input type="mail" name="mail">
    <br />
    <input type="submit" name="submit" value="Регистрация" />
    </form>

    reguser.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <?php
    if (isset($_POST["submit"])) {
    //настройки за база данни
    $dbhost = "db host";
    $dbuser = "db user";
    $dbpass = "db pass";
    $dbname = "db name";
    $conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
    mysql_select_db($dbname, $conn)or die(mysql_error());
    if (!empty($_POST["user"])) $user = htmlspecialchars($_POST["user"]);
    else $errMsg = "Моля въведете потребител!<br />";
    if (!empty($_POST["pass"])) $pass = htmlspecialchars($_POST["pass"]);
    else $errMsg = "Моля въведете парола!<br />";
    if (!empty($_POST["pass2"])) $pass2 = htmlspecialchars($_POST["pass2"]);
    else $errMsg = "Моля въведете парола!<br />";
    if (!empty($_POST["mail"])) $mail = htmlspecialchars($_POST["mail"]);
    else $errMsg = "Моля въведете е-майл!<br />";
    if (empty($errMsg)) {
    
    $chek = mysql_query("SELECT * FROM `members` WHERE `user`='$user'")or die(mysql_error());
    $chek = mysql_num_rows($chek);
    if ($chek=='1') { echo 'Този потребител вече е регистриран! <a href="reguser.html">НАЗАД</a>'; }
    else {
    
    $insert = mysql_query("INSERT INTO members(user, pass, pass2, mail) VALUES('$user', '$pass', '$pass2', '$mail')")or die(mysql_error());
    echo 'Здравей <b>' . $user . '</b>! Регистрацията е успешна! Може да влезеш от <a href="index.php">ТУК</a>';
    }
    } else echo $errMsg;
    mysql_close();
    }
    ?>
    

    СЕГА ИДВА РЕД НА АДМИН Панела! Направете си папка „admin“.

    delete.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <?PHP
    $dbhost = "db host";
    $dbuser = "db user";
    $dbpass = "db pass";
    $dbname = "db name";
    $connection = mysql_connect($dbhost, $dbuser, $dbpass) or die("Сайтът не може да се свърже към базата данни1");
    $db = mysql_select_db($dbname,$connection)or die("Сайтът не може да се свърже към базата данни2");
    $id = $_GET['id'];
    if(!$id){echo"Изберете потребител който искате да изтриете!";}else{
    $result = mysql_query("DELETE FROM members WHERE id='$id' ",$connection);
    echo "Успешно изтрит потребител!<br><a href='edit.php'>< Върни се обратно </a>";}
    ?>

    edit.php

    <html>
    <head>
    <title>Система за регистрация</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <body>
    <?php
    //настройки за база данни
    $dbhost = "db host";
    $dbuser = "db user";
    $dbpass = "db pass";
    $dbname = "db name";
    $conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
    mysql_select_db($dbname, $conn)or die(mysql_error());
    
    
    $select = mysql_query("SELECT * FROM members")or die(mysql_error());
    if (mysql_num_rows($select))
    {
    while($red = mysql_fetch_array($select))
    {
    ?>
    <?php echo $red['user'];?> - <a href="edituser.php?tid=<?php echo $red['id']; ?>">Редактиране</a> | <a href="delete.php?id=<?php echo $red['id']; ?>">Изтрий</a><br>
    <?php
    }
    }
    mysql_close();
    ?>
    
    
    
    edituser.php
    <?php
    //настройки за база данни
    $dbhost = "db host";
    $dbuser = "db user";
    $dbpass = "db pass";
    $dbname = "db name";
    $conn = mysql_connect($dbhost, $dbuser, $dbpass)or die(mysql_error());
    mysql_select_db($dbname, $conn)or die(mysql_error());
    
    if ($_POST['user'] && $_POST['pass'] && $_POST['mail']) mysql_query("REPLACE INTO members VALUES(".intval($_GET['tid']).",'".$_POST['nick']."','".$_POST['pass']."','".$_POST['mail']."')");
    
    $select = mysql_query("SELECT * FROM members WHERE id=".intval($_GET['tid']))or die(mysql_error());
    if (mysql_num_rows($select)) $red = mysql_fetch_array($select);
    
    mysql_close();
    ?>
    
    <form action="<?php echo($_SERVER['PHP_SELF']."?tid=".$_GET['tid']);?>" method="post">
    Потребител: <input type="text" name="user" value="<?php echo($red['user']);?>" />
    <br />
    Парола: <input type="text" name="pass" value="<?php echo($red['pass']);?>" />
    <br />
    Email: <input type="text" name="mail" value="<?php echo($red['mail']);?>" />
    <br />
    <input type="submit" name="submit" value="Редактирай" />
    </form>
    

    Това е всичко! ЗАБРАНЯВЪМ ПРЕПИСВАНЕТО НА УРОКА!!!

    Оставете коментар