در این پروژه تمرینی php قصد داریم با دیتابیس mysql کار کنیم . صفحه Register ، Login و پروفایل کاربری و Logout ایجاد کنیم. موارد زیادی در این پروژه خواهیم آموخت. کدها همه تست شده می باشد و می توانید در پروژه های php و mysql استفاده نمایید.
توجه : به دلیل اینکه این پروژه تمرینی php است و ما می خواهیم شما به مشکلات آنچنانی نخورید از فیلدهای کمی استفاده کرده ایم و سایت را ساده ایجاد کرده ایم و همچنین بخاطر اینکه کدنویسی زیاد نباشد و تمرکز شما فقط روی php , mysql باشد از css صرف نظر کرده ایم.
در بخش های دیگر مثل آموزش css ، فرم های زیبایی وجود دارد که می توانید استفاده نمایید.
ساخت صفحه Register
در این بخش از آموزش php از تاپ سایت 98 قصد داریم صفحه ثبت نام در سایت یا Registerرا ایجاد نماییم.
در تمامی پروژه های php ، وقتی فرید خرید یا استفاده از خدمات سایت را دارد در سایت ثبت نام می کند.
ابتدا یک دیتابیس در phpmyadmin بنام testphp1 ایجاد می کنیم .
سپس یک جدول بنام users در آن ایجاد می کنیم.
فیلدها id و fname و email و pass می باشد. شما می توانید فیلدهای دیگری اضافه کنید.
در تصویر زیر نوع فیلدها را مشاهده می کنید.
فیلد id را auto increment قرار دادیم تا خودکار اعداد را وارد نماید و تکراری اعداد را نگیرد.
فیلدهای fname و email و pass از نوع رشته در نظر گرفتم.
پس از طراحی فیلد email را unique کردم تا ایمیل تکراری نگیرد.
برای این کار در بخش structure ، روی more کلیک کرده و unique را انتخاب می کنیم.
کد اتصال به دیتابیس
برای درج رکورد بایستی ابتدا به دیتابیس متصل شد.
کد ارتباط با دیتابیس زیر را در فایل connect.php ذخیره کنید.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testphp1";
$conn = mysqli_connect($servername, $username, $password,$dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
کد Register
در بخش زیر کد Register را مشاهده می کنید.
<html>
<head>
<meta charset="UTF-8">
<title>register by php MySQL</title>
<style>input{margin-bottom: 10px; font-size: 15px} </style>
</head>
<body style="direction: rtl;margin-right: 20px">
<?php
if(isset($_POST['insbtn'])) {
if ($_POST['pass'] == $_POST['pass2']) {
include_once 'connect.php';
$fname = $_POST['fname'];
$email = $_POST['em'];
$pass = $_POST['pass'];
$sql = "INSERT INTO users (fname, email, pass) VALUES ('$fname' , '$email','$pass')";
if ($conn->query($sql) === TRUE) {
echo "new record successfully";
} else {
echo "Error insert record: " . $conn->error;
}
$conn->close();
}else{
echo "رمز عبور اشتباه است.";
}
}else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<input required name="fname" type="text" value="<?php if(isset($_POST['fname'])) echo $_POST['fname']?>" placeholder="نام"><br>
<input required name="em" type="email" value="<?php if(isset($_POST['em'])) echo $_POST['em']?>" placeholder="ایمیل"><br>
<input required name="pass" type="password" placeholder="رمز عبور"><br>
<input required name="pass2" type="password" placeholder="تکرار رمز عبور"><br>
<input required name="insbtn" type="submit" value="درج"><br>
</form>
<?php
}
?>
</body>
</html>
صفحه لاگین
در بخش زیر صفحه لاگین (login) را مشاهده می کنید.
کد را در فایل login.php ذخیره نمایید.
کد لاگین
<?php session_start(); ob_start(); ?>
<html>
<head>
<meta charset="UTF-8">
<title>Login by php MySQL</title>
<style>input{margin-bottom: 10px; font-size: 15px} </style>
</head>
<body style="direction: rtl;margin-right: 20px">
<?php
if(isset($_POST['loginbtn'])) {
include_once 'connect.php';
$email = $_POST['em'];
$pass = $_POST['pass'];
$res = mysqli_query($conn,"SELECT * FROM `users` WHERE `email` = '".$email."' AND `pass` = '".$pass."'");
$num = mysqli_num_rows($res);
if($num > 0){
$row = mysqli_fetch_assoc($res);
$_SESSION['uid'] = $row['id'];
$_SESSION['fname'] = $row['fname'];
header('Location: profile.php');
}else{
echo "نام کاربری یا رمز عبور اشتباه است.";
}
}else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<input required name="em" type="email" placeholder="ایمیل"><br>
<input required name="pass" type="password" placeholder="رمز عبور"><br>
<input required name="loginbtn" type="submit" value="ورود"><br>
</form>
<?php
}
?>
</body>
</html>
ساخت پروفایل کاربری
در بخش زیر کد ساخت پروفایل کاربری را مشاهده می کنید.
کد زیر را در فایل profile.php کپی کرده و ذخیره کنید.
کد پروفایل کاربری
<?php session_start(); ob_start();
if(isset($_SESSION['uid'])){
echo "<h1>user: ".$_SESSION['fname']."</h1>";
echo "<a href='logout.php'>logout</a>";
}else{
header('Location: login.php');
}
?>
صفحه logout
در بخش زیر کد صفحه Logout را مشاهده می کنید کد را در فایل logout.php کپی کنید و ذخیره نمایید.
کد صفحه logout
<?php session_start();
ob_start();
session_destroy();
header('Location: login.php');
?>
امیدواریم این پروژه php برای شما مفید باشد.
موفق باشید.