PDA

View Full Version : سوال: درخواست کمک در حل دو کد ساده PHP



wordnet
سه شنبه 22 بهمن 1392, 18:29 عصر
سلام

دوستان ما در دو. مورد مشکل داریم

1- میخواهیم یک کاربر در بنل کاربری خودش فقط بتونه موارد مربوط به خودشو انجام بده یعنی اینکه وقتی اومد توی بنل کاربریش فقط بتونه بسورد خودشو تغییر بده نه اینکه یوزر یک کاربر دیگرو بزنه و بسورد اونو عوض کنه این کد ماست



<?php
session_start();
error_reporting(0);
?>
<html>
<head>
<meta charset="utf-8">
<title> تست بخش عضویت </title>
</head>
<body>
<p><a href="edit.php">ادیت</a></p>
<p><a href="del.php">حذف</a></p>
<p><a href="ser.php">جستجو</a></p>
<p><a href="logout.php">خروج</a></p>
<p>
<?php
if(!isset($_SESSION['user']) && !isset($_SESSION['pass']) )
{
header('location:login.php');
}
$user=$_SESSION['user'];
require_once 'class/config.php';
$result = mysql_query("SELECT * FROM user WHERE user='$user'");
if($row = mysql_fetch_assoc($result))
{
echo (
"
<form method='get'>
نام <input name='old' type='text' >
<br>
نام جدید<input name='new' type='text'>
<br/>
<br/>
<input value='ok' type='submit'>
</form>
"

);
$old=$_GET['old'];
$new=$_GET['new'];
$old1=mysql_real_escape_string(strtolower($old));
$new1=mysql_real_escape_string(strtolower($new));
mysql_query ("UPDATE user SET user='{$new1}' WHERE (LOWER(user)='{$old1}')");

}
?>
</p>
</body>
</html>



الان اینجا کاربر میتونه اطلاعات خودش و اگر داشته باشه یک یوزر دیگر هم ادیت کنه میخواهم یانطور نباشه

2- همچنین میخواهم در هنگام عضویت در صفحه عضویت یوزر تکرار کاربر نسازد کد:



<?php
session_start();
error_reporting(0);
?>
<html>
<head>
<meta charset="utf-8">
<title> تست بخش عضویت </title>
</head>
<body>
<form method="post">
نام مخاطب به انگلیسی:<input type="text" name="name">
<br/>
شماره تلفن مخاطب:<input type="text" name="tell">
<br/>
<input type="submit" name="ok" value="ثبت اطلاعات">
</form>
<?php
///////////////چک کننده شرط بعد ارور
if (isset($_POST['name']) && isset($_POST['tell']) ) {
require_once 'class/config.php';
$name=$_POST["name"];
$tell=$_POST["tell"];
if($name=="")
{
die("لطفا یک نام کاربری وارد نمائید");
}
if ($tell=="")
{
die ("لطفا شماره وارد کنید");
}
$guery= mysql_query ("insert into user (user,pass)
values ('$name','$tell');
");
}
?>
</body>
</html>





ممنونم

wordnet
چهارشنبه 23 بهمن 1392, 10:14 صبح
منتظر راهنمایی دوستان هستم.

mostafa272
چهارشنبه 23 بهمن 1392, 13:28 عصر
منظورتون رو از سوال اول نفهمیدم ولی برای اینکه تکرار نشه باید قبل از دستور insert کنترل رو انجام بدی. یعنی براساس نام کاربری ایمیل یا چیزای دیگه که تو برنامت منحصر به فرد هست جستجو کنی اگه چیزی پیدا نشد اونوقت insert کنی یه نکته مهم دیگه اینکه سعی کن تا وقتی داری کد می نویسی خطاها رو به جای مخفی کردن برطرف کنی.

wordnet
چهارشنبه 23 بهمن 1392, 19:25 عصر
ممنون میشم کد منو اصلاح کنید چون سخت شده

sh.n.n786
چهارشنبه 23 بهمن 1392, 22:27 عصر
<?php
session_start();
error_reporting(0);
?>
<html>
<head>
<meta charset="utf-8">
<title> تست بخش عضویت </title>
</head>
<body>
<p><a href="edit.php">ادیت</a></p>
<p><a href="del.php">حذف</a></p>
<p><a href="ser.php">جستجو</a></p>
<p><a href="logout.php">خروج</a></p>
<p>
<?php
if(!isset($_SESSION['user'], $_SESSION['pass']) ) {
header('location:login.php');
} else {
require_once 'class/config.php';
$user = $_SESSION['user'];
$result = mysql_query("SELECT * FROM `user` WHERE(`user`= '{$user}');");
if($row = mysql_fetch_assoc($result)) {
echo EOT<<<
<form action="#" method="post">
نام <input name="old" type="text" />
نام جدید<input name="new" type="text" />
<input value="ok" type="submit" />
</form>
EOT;
if($_POST['old'] == $user) {
$new = $_POST['new'];
$new1 = mysql_real_escape_string($new);
mysql_query ("UPDATE `user` SET `user`='{$new1}' WHERE (`user`='{$user}');");
} else echo 'Username invalid :|';
}
}
?>
</p>
</body>
</html>

sh.n.n786
چهارشنبه 23 بهمن 1392, 22:41 عصر
<?php
session_start();
error_reporting(0);
?>
<html>
<head>
<meta charset="utf-8">
<title> تست بخش عضویت </title>
</head>
<body>
<form action="#" method="post">
نام مخاطب به انگلیسی:<input type="text" name="name" />
شماره تلفن مخاطب:<input type="text" name="tell" />
<input type="submit" name="ok" value="ثبت اطلاعات" />
</form>
<?php
///////////////چک کننده شرط بعد ارور
if (isset($_POST['name'], $_POST['tell'])) {
require_once 'class/config.php';
$name = mysql_real_escape_string($_POST['name']);
$tell = mysql_real_escape_string($_POST['tell']);
if($user == '') {
die("لطفا یک نام کاربری وارد نمائید");
}
if ($tell == '') {
die ("لطفا شماره وارد کنید");
}
if(!mysql_query("SELECT `user` FROM `user` WHERE(`user`='{$name}');")) {
mysql_query("INSERT INTO `user` VALUES('{$name}','{$tell}');");
echo 'با موفقیت ثبت شد.';
} else {
echo 'این نام قبلا ثبت شده.';
}
?>
</body>
</html>