PDA

View Full Version : سوال: وارد کردن کد کاربر حاضر در جدول دیگر



patmat2
سه شنبه 07 خرداد 1392, 21:47 عصر
سلام . من یک جدول دارم برای کاربران . و یک جدول دیگر دارم برای کالاهایی که هر کاربر در سایت برای فروش قرار میدهد. حالا می خوام وقتی که کاربر مجاز خواست کالایی رو واسه فروش بذاره. تو جدول کالا کد کاربری کاربر حاضر هم درج بشه. این کار رو باید چطور انجام بدم. باید بگم بقیه عملیات کامل انجام میشه. فقط همین رو نمی دونم. برای هر کاربر یک سسشن هم تعریف میشه.
باید با استفاده از سسشن اینکار رو بکنم.؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

لطفاً کمک کنید.

SilverLearn
سه شنبه 07 خرداد 1392, 21:52 عصر
خوب مشکل الان کجاست ؟
وقتی یک کاربر لاگین کرده و اقدام به ثبت کالا می کنه کد کاربریش رو هم مثل بقیه فیلد ها توی جدول کالاها ثبت کن دیگه

H:Shojaei
سه شنبه 07 خرداد 1392, 21:54 عصر
سلام
آره ديگه نام كاربري هر كاربر كه مجزاست پس آي دي كاربر رو با استفاده از نام كاربري بخونيد و در جدول كالا وارد كنيد.
البته ميتونيد همون وقتي كه سشن كاربر رو توليد ميكنيد سشن آي ديش رو هم تعريف كنيد كه بشه همه جا استفاده كرد.

patmat2
سه شنبه 07 خرداد 1392, 22:13 عصر
همین دیگه. من تو قسمت کدهای php این کدها رو واسه گرفتن کد کاربری می گذارم ببینید درسته یا نه؟


$namekarbar=''.$_SESSION['valid_user'].'';


$query1="
select code_karbar from users where username='$namekarbar';
";

H:Shojaei
سه شنبه 07 خرداد 1392, 22:27 عصر
خب اينو كه شما بايد بگي ديگه كه كار ميكنه يا نه؟
اگه كار نميكنه اين رو بزن:


$query1="
SELECT code_karbar FROM `users` WHERE `username`='$namekarbar';
";

SilverLearn
سه شنبه 07 خرداد 1392, 22:27 عصر
نگاه کن وقتی کاربر توی فرم لاگینت مثلا لاگین می کنه این سشن ها رو برای مثال بساز :



$user = trim($_POST['username']);
$pas = trim($_POST['password']);


بعد کد کاربری رو از همین یوزر و پس بدست بیار




$sql = "SELECT code_karbar FROM `users` WHERE `username` = '".$user."' AND `passiword` = '".$pass."' ";

patmat2
سه شنبه 07 خرداد 1392, 22:34 عصر
خب اينو كه شما بايد بگي ديگه كه كار ميكنه يا نه؟
اگه كار نميكنه اين رو بزن:


$query1="
SELECT code_karbar FROM `users` WHERE `username`='$namekarbar';
";


نه باز هم ارور میده.
اصلاً ارورش هم واسه این خطه:


$namekarbar=''.$_SESSION['valid_user'].'';

SilverLearn
سه شنبه 07 خرداد 1392, 22:37 عصر
اینجوری بنویس ببین درست میشه ؟




$_SESSION['valid_user'] = $namekarbar;

patmat2
سه شنبه 07 خرداد 1392, 22:46 عصر
اینجوری بنویس ببین درست میشه ؟




$_SESSION['valid_user'] = $namekarbar;


نه. باز هم ارور میده.
من تو صفحه قبلش که مربوط به فرم وراد کردن کالا هستش مشکلی ندارم و حتی نام کاربریش رو چاپ می کنه. ولی تو صفحه action فرم (صفحه مقصد فرم) این مشکل هستش.

SilverLearn
سه شنبه 07 خرداد 1392, 22:50 عصر
خوب بهم پ .خ کن و دو تا فایلت رو بفرست تا ببینم مشکلت کجاست ....

H:Shojaei
سه شنبه 07 خرداد 1392, 22:51 عصر
ارورش چيه بذار.

patmat2
سه شنبه 07 خرداد 1392, 22:54 عصر
ببینید این کل فیال صفحه action هستش




<head>
<meta http-equiv="refresh" content="2;url=sale.php" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<?php

$conn=mysql_connect("localhost","root","");
if(!$conn)
{
die('Could not connect:'.mysql_error());
}

mysql_select_db("mymall_db",$conn);

$kalaname=$_POST['kalaname'];
$sazande=$_POST['sazande'];
$jumpmenu=$_POST['jumpMenu'];
$moshakhasat=$_POST['moshakhasat'];
$gheymat=$_POST['gheymat'];

$file_name = $_FILES['kalaimage']['name'];
$target_path = "kalaimages/".$file_name;
move_uploaded_file($_FILES['kalaimage']['tmp_name'], $target_path);

$tozih=$_POST['tozih'];



$_SESSION['valid_user']=$namekarbar;


$query1="
select code_karbar from users where username='$namekarbar';
";
$codekarbar1=mysql_query($query1,$conn);

$query="
insert into kala (kalaname,sazande,dastebandy,moshakhasat,gheymat,i mage,tozih,code_karbar)
values ('$kalaname','$sazande','$jumpmenu','$moshakhasat' ,'$gheymat','$target_path','$tozih','$codekarbar1' );
";

mysql_query($query,$conn);

?>

patmat2
سه شنبه 07 خرداد 1392, 22:55 عصر
اینم کدهای صفحه اولش


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link type="text/css" rel="stylesheet" href="style.css" />
<link type="text/css" rel="stylesheet" href="style_menu1.css" />
</head>

<body>
<div class="main">
<?php include('headerr.php');?>
<?php include('menu1.php');?>

<div class="content">
<?php include('content_left.php');?>

<?php
if (isset($_SESSION['valid_user']))
{
$namekarbar=''.$_SESSION['valid_user'].'';

echo'
<p>
<h4 style="color:#C00; text-align:center">برای فروش کالای خود ، مشخصات کالا را طبق جدول زیر کامل نمایید
</h4></p>
';
echo'
<div class="sale">

<form enctype="multipart/form-data" action="sale1.php" method="post" dir="rtl">
<table width="500" border="0" dir="rtl" height="500px" bgcolor="#FFFFCC" align="center">
<tr>
<td width="100px" colspan="3" align="center">نام کاربری شما:'.$_SESSION['valid_user'].'</td>
</tr>
<tr>
<td width="200px" align="center">نام کالا خود </td>
<td width="200px" align="center"><input type="text" name="kalaname" id="kalaname"/>
</td>
<td width="100px"></td>
</tr>
<tr>
<td align="center">شرکت سازنده</td>
<td align="center"><input type="text" name="sazande" id"sazande"/>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center">دسته بندی</td>
<td align="center">
<select name="jumpMenu" id="jumpMenu" >
<option>رایانه</option>
<option>تلفن همراه /تبلت</option>
<option>لوازم خانگی</option>
<option>صوتی و تصویری</option>
</select>


</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center">مشخصات</td>
<td align="center"><textarea name="moshakhasat" id="moshakhasat"></textarea>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center">قیمت</td>
<td align="center"><input type="text" name="gheymat" id="gheymat"/>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center">تصویر کالا</td>
<td align="center">
<input name="MAX_FILE_SIZE" value="30000000" type="hidden" />
<input type="file" name="kalaimage" id="kalaimage"/>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center">توضیحات</td>
<td align="center"><textarea name="tozih" id="tozih"></textarea>
</td>
<td>&nbsp;</td>
</tr>


<tr>
<td>&nbsp;</td>
<td align="center">
<input type="submit" name="submit" value="ثبت کالای جدید"/>
</td>
<td>&nbsp;</td>
</tr>
</table>


</form>
</div>

';
}
else
{
echo'
<div style=" font-size:13px; color:red; text-align:center"><h3>شما مجاز به فروش در سایت نیستید</h3>
<h5> برای انجام هــرگونه عملیاتی(خرید و فروش) باید در سایت ثبت نام نموده و سپس با استفاده از نام کاربری خود در سایت وارد شده و اقدام نمایید</h5>
</div>
';

}

?>
</div>

</div>
<?php include('footer.php');?>
</body>
</html>

SilverLearn
سه شنبه 07 خرداد 1392, 22:55 عصر
خوب الان چه اروری میده ؟ ارورش رو بذار

SilverLearn
سه شنبه 07 خرداد 1392, 22:59 عصر
خوب شما که توی هیچ جا از این کد ها سشن رو استارت نکردی که ...

patmat2
سه شنبه 07 خرداد 1392, 23:01 عصر
اینم ارورش


Notice: Undefined variable: namekarbar in C:\xampp\htdocs\MYMALL\sale1.php on line 31

Notice: Undefined variable: namekarbar in C:\xampp\htdocs\MYMALL\sale1.php on line 36

patmat2
سه شنبه 07 خرداد 1392, 23:07 عصر
خوب شما که توی هیچ جا از این کد ها سشن رو استارت نکردی که ...

یعنی چی؟؟؟
تو اون صفحه اصلی که اینکلود داره. تو یکی از اون اینکلودها سسشن استارت میشه. دیگه . ولی صفحه مقصد نداره.

SilverLearn
سه شنبه 07 خرداد 1392, 23:10 عصر
این کد رو به اول صفحه هات اضاف کن





<?php
session_start();

if(!isset($_SESSION['valid_user']))
{
header("location: login.php");
}
$namekarbar= $_SESSION['vaild_user'];


?>


نام فایل لاگینت هرچی هست تغییرش بده (login.php)

patmat2
سه شنبه 07 خرداد 1392, 23:25 عصر
این کار رو هم کردم ارورداد.
این خط رو ارورمیده.


$namekarbar= $_SESSION['vaild_user'];

H:Shojaei
سه شنبه 07 خرداد 1392, 23:30 عصر
ببخشيد شما [اگه بهتون بر نميخوره] اول يه جزوه ي آموزشي بخونيد بهتره. اينطوري گيج ميشيد و مشكلتون هم حل نميشه.
از قديم گفتن ميخ تو سنگ فرو نميره.

patmat2
سه شنبه 07 خرداد 1392, 23:39 عصر
ببخشيد شما [اگه بهتون بر نميخوره] اول يه جزوه ي آموزشي بخونيد بهتره. اينطوري گيج ميشيد و مشكلتون هم حل نميشه.
از قديم گفتن ميخ تو سنگ فرو نميره.

منم تو گوش شما یاسین نمی خووونم.
اگه بهت بر نمی خوره.

من خیلی دنبالش گشتم. اگه هم می بینی اینجا مطرح می کنم. واسه اینه که کمک می خوام. تقریباً 98% کارم انجام میشه و فقط همین یه تیکه رو گیر دارم. اگه نمی دونی و نمی تونی کسی مجبورت نکرده.
البته باز هم معذرت می خوام از اساتید محترم. من قصدم توهین نیست. به کسی بر نخوره. فقط خواستم جواب این دوستمون رو بدم.

shahriyar3
سه شنبه 07 خرداد 1392, 23:49 عصر
اگه میخوای محتوی سشن بریزی توی متغیر باید اینو برعکس بنویسی


$_SESSION['valid_user']=$namekarbar;
به این توی خط 30 صفحه اکشن
$namekarbar= $_SESSION['vaild_user'];

H:Shojaei
سه شنبه 07 خرداد 1392, 23:53 عصر
خب دوست عزيز شما $_SESSION['vaild_user'] رو كه هيچ جا بهش مقدار ندادي داري ميريزي توي $namekarbar و يا بالعكس اول به سشن مقدار آي دي كه از جدول با كوئري ها و دستورات sql خوندي رو بده بعد ازش استفاده كن.
در ضمن قصد توهين نداشتم من هم خودم اولاش كه عضو شده بودم همين طوري بودم.:لبخندساده:

patmat2
سه شنبه 07 خرداد 1392, 23:53 عصر
ببینید دوستان این کار به این صورت هم میشه انجام داد که به جای کد کاربر رو از دیتابیس واکشی کنم همون نام کاربری رو که الان فعال هستش رو تو جدول کالا ذخیره کنم فقط باید نوع فیلدم رو تو جدول کالا عوض کنم. این کار رو کردم و شد. ولی من می خوام کد کاربری رو از جدول یوزرها واکشی کنم و بعد اونو تو جدول کالا کنار کالای هر کاربر ذخیره کنم.


$namekarbar=''.$_SESSION['valid_user'].'';

$query="
insert into kala (kalaname,sazande,dastebandy,moshakhasat,gheymat,i mage,tozih,name_karbar)
values ('$kalaname','$sazande','$jumpmenu','$moshakhasat' ,'$gheymat','$target_path','$tozih','$namekarbar') ;
";

SilverLearn
سه شنبه 07 خرداد 1392, 23:55 عصر
حالا نمی خواد زود جبهه بگیرید .... ایشون منظوری نداشتن

شما می تونی کد های صفحه ورود کاربر رو هم بذاری احیانا عزیز ؟

patmat2
سه شنبه 07 خرداد 1392, 23:57 عصر
خب دوست عزيز شما $_SESSION['vaild_user'] رو كه هيچ جا بهش مقدار ندادي داري ميريزي توي $namekarbar و يا بالعكس اول به سشن مقدار آي دي كه از جدول با كوئري ها و دستورات sql خوندي رو بده بعد ازش استفاده كن.
در ضمن قصد توهين نداشتم من هم خودم اولاش كه عضو شده بودم همين طوري بودم.:لبخندساده:

ببین دوست من $_SESSION['valid_user'] مقدار داره دیگه. مقدارش هم برابره با نام کاربری کاربر حاضر. پست قبلی مو بخونی متوجه میش.. من تو واکشی کد کاربری کاربر حاضر از دیتابیس مشکل دارم.

patmat2
سه شنبه 07 خرداد 1392, 23:58 عصر
حالا نمی خواد زود جبهه بگیرید .... ایشون منظوری نداشتن

شما می تونی کد های صفحه ورود کاربر رو هم بذاری احیانا عزیز ؟

چرا که نه؟


<?php
session_start();
if (isset($_POST['uname']) && isset($_POST['upass']))
{
$uname = $_POST['uname'];
$upass = $_POST['upass'];
$conn=mysql_connect("localhost","root","");
if(!$conn)
{
die('Could not connect:'.mysql_error());
}
mysql_select_db("mymall_db");
$query = 'select username,password from users '
."where username='$uname'"
." and password = '$upass'";

$result = mysql_query($query, $conn);
if (mysql_num_rows($result) >0 )
{
// if they are in the database register the user id
$_SESSION['valid_user'] = $uname;

$_SESSION['login']=true;

}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<body>
<div class="login">
<?php


if (isset($_SESSION['valid_user']))
{
echo 'ســلام '.$_SESSION['valid_user'].'خوش آمدید'.'<br>';


echo '<a href="logout.php">LOG OUT</a>';
}
else
{
if (isset($uname))
{
echo"شما نمی توانید وارد شوید";
}

echo'<form method="post" action="default.php">';
echo'<table>';
echo'<tr><td>نام کاربری</td></tr>';
echo'<tr><td><input type="text" name="uname"></td></tr>';
echo'<tr><td>کلمه عبور</td></tr>';
echo'<tr><td><input type="password" name="upass"></td></tr>';
echo'<tr><td colspan="2" align="center"></tr>';
echo'<tr><td><input type="submit" value="LOG IN"></td></tr>';
echo'</table></form>';




}


?>
</div>
<br />
</body>
</html>

H:Shojaei
چهارشنبه 08 خرداد 1392, 00:03 صبح
كد نحوه ي بدست آوردن يه فيلد از جدول:


$connect=mysql_connect("127.0.0.1","root","");
if(!$connect)echo "not connect";
mysql_select_db("db");
$cod="SELECT id FROM `users tabel` WHERE `username`='$usename'";
$codcheck=mysql_query($cod);
$user=mysql_fetch_array($codcheck);
$username=$user['username'];

SilverLearn
چهارشنبه 08 خرداد 1392, 00:17 صبح
اگه میخوای محتوی سشن بریزی توی متغیر باید اینو برعکس بنویسی


$_SESSION['valid_user']=$namekarbar;
به این توی خط 30 صفحه اکشن
$namekarbar= $_SESSION['vaild_user'];



خوب می خواستم مطمئن بشم که سشن valid_user درسته بنابراین

فقط ایراد از همین میتونه باشه که هم من و هم shahryar3 به اون اشاره کردیم یعنی فایلت رو به همین تغییر بده :





<head>
<meta http-equiv="refresh" content="2;url=sale.php" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<?php
session_start();

$conn=mysql_connect("localhost","root","");
if(!$conn)
{
die('Could not connect:'.mysql_error());
}

mysql_select_db("mymall_db",$conn);

$kalaname=$_POST['kalaname'];
$sazande=$_POST['sazande'];
$jumpmenu=$_POST['jumpMenu'];
$moshakhasat=$_POST['moshakhasat'];
$gheymat=$_POST['gheymat'];

$file_name = $_FILES['kalaimage']['name'];
$target_path = "kalaimages/".$file_name;
move_uploaded_file($_FILES['kalaimage']['tmp_name'], $target_path);

$tozih=$_POST['tozih'];



$namekarbar = $_SESSION['valid_user'];


$query1="
select code_karbar from users where username='$namekarbar';
";
$codekarbar1=mysql_query($query1,$conn);

$query="
insert into kala (kalaname,sazande,dastebandy,moshakhasat,gheymat,i mage,tozih,code_karbar)
values ('$kalaname','$sazande','$jumpmenu','$moshakhasat' ,'$gheymat','$target_path','$tozih','$codekarbar1' );
";

mysql_query($query,$conn);

?>