PDA

View Full Version : سوال: عدم ارسال اطلاعات به دیتابیس



ferry_2020
یک شنبه 29 دی 1392, 14:31 عصر
با عرض سلام و احترام
من یک فرم عضویت در پی اچ پی ایجاد کردم ولی وقتی برنامه را اجرا میکنم،اطلاعات وارد شده در فرم پس از فشردن کلید ثبت،در دیتابیس ذخیره نمی شوند.هیچ پیغام خطایی هم نمایان نمیشود.
کد پی اچ پی نوشته شده به قرار زیر است :




$user=$_POST["user"];
$pass=$_POST["pass"];
$rpass=$_POST["rpass"];
$name=$_POST["name"];
$tel=$_POST["tel"];
$cell=$_POST["cell"];
$address=$_POST["address"];

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

mysql_select_db("restaurant", $con);

mysql_query("INSERT INTO users(user,pass,name,tel,cell,address) VALUES ('$user','$pass','$name','$tel','$cell','$address' )");

if($rpass==$pass)
{

$p=md5($pass);

mysql_query("insert into users values('$user','$p')");
}
else echo "لطفاً پسورد را صحیح وارد نمائید";

ممنون میشوم راهنمایی فرمایید و کمک کنید تا مشکل را برطرف سازم.

فرزند کوروش
یک شنبه 29 دی 1392, 15:12 عصر
mysql_query("insert into users values('$user','$p')");
این کوئری مشکل داره

ferry_2020
یک شنبه 29 دی 1392, 15:34 عصر
mysql_query("insert into users values('$user','$p')");
این کوئری مشکل داره



خب مشکل این کوئری چیست؟چطور میشه مشکل رو برطرف کرد؟

danial.saeedi
یک شنبه 29 دی 1392, 15:40 عصر
سلام دوست عزیز!
هر جدولی باید ID داشته باشه اونو به جدولت اضافه کن و به دستور زیر تغییر دهید:

mysql_query("insert into users values($id,'$user','$p')");
فک کنم مشکل حل میشه

ferry_2020
یک شنبه 29 دی 1392, 16:12 عصر
سلام دوست عزیز!
هر جدولی باید ID داشته باشه اونو به جدولت اضافه کن و به دستور زیر تغییر دهید:

mysql_query("insert into users values($id,'$user','$p')");
فک کنم مشکل حل میشه



متشکر از پاسخ شما ولی من فکر نمیکنم ذخیره شدن اطلاعات ربطی به داشتن یا نداشتن آی دی داشته باشه.

فرزند کوروش
یک شنبه 29 دی 1392, 16:20 عصر
شما چرا دو بار اطلاعات ایننسرت میکنی؟
دم اینکه کوئری ای که گفتم ناقص هست شما اطلاعات رو اینسرت کردی ولی نگفتی تو کد.م خونه ها اینسرت بشه


mysql_query("insert into users (col1,col2,col3) values($id,'$user','$p')");

ferry_2020
یک شنبه 29 دی 1392, 18:29 عصر
شما چرا دو بار اطلاعات ایننسرت میکنی؟
دم اینکه کوئری ای که گفتم ناقص هست شما اطلاعات رو اینسرت کردی ولی نگفتی تو کد.م خونه ها اینسرت بشه


mysql_query("insert into users (col1,col2,col3) values($id,'$user','$p')");



به این دلیل که جدول یوزرز در ابتدا فقط دو فیلد یوزر و پسورد داشت.بعداً که فیلدهای دیگه رو اضافه کردم،اون قسمت رو تغییر ندادم.
الان کد را به این شکل تغییر دادم،ولی متاسفانه باز هم اطلاعات به دیتابیس ارسال نمیشه


<?php

$user=$_POST["user"];
$pass=$_POST["pass"];
$rpass=$_POST["rpass"];
$name=$_POST["name"];
$tel=$_POST["tel"];
$cell=$_POST["cell"];
$address=$_POST["address"];

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

mysql_select_db("restaurant", $con);



if($rpass==$pass)
{

$p=md5($pass);

mysql_query("INSERT INTO users(user,pass,name,tel,cell,address) VALUES ('$user','$p','$name','$tel','$cell','$address')");
}
else echo "لطفاً پسورد را صحیح وارد نمائید";

?>

لطفاً راهنمایی بفرمائید.با تشکر

فرزند کوروش
یک شنبه 29 دی 1392, 19:25 عصر
کوئریتو با این جایگذین کن ببین اروری که میده چیه


mysql_query("INSERT INTO users(user,pass,name,tel,cell,address) VALUES ('$user','$p','$name','$tel','$cell','$address')")or die( mysql_error()) ;

mahmod2000
یک شنبه 29 دی 1392, 19:38 عصر
اگه مشکل خالی بودن فیلد هاتون هست به این صورت متغیر ها رو تعریف کنید



$user= isset($_POST["user"]) ? $_POST["user"] : '' ;

ferry_2020
یک شنبه 29 دی 1392, 19:51 عصر
کوئریتو با این جایگذین کن ببین اروری که میده چیه


mysql_query("INSERT INTO users(user,pass,name,tel,cell,address) VALUES ('$user','$p','$name','$tel','$cell','$address')")or die( mysql_error()) ;



این پیغام خطا را نمایش میده:

Unknown column 'user' in 'field list'

نمیدونم چرا،چون من در کدهای اچ تی ام ال یک تکس باکس با آی دی user ایجاد کردم!

کدهای اچ تی ام ال هم به قرار زیر است:

<form method="post" action="register_db.php">

<label>نام کاربری :</label>
<input type="text" name="user" />
<br /><br />
<label>رمز عبور :</label>
<input type="password" name="pass" />
<br /><br />
<label>تکرار رمز عبور :</label>
<input type="password" name="rpass" />
<br /><br />
<label>نام و نام خانوادگی :</label>
<input type="text" name="name" />
<br /><br />
<label>تلفن ثابت :</label>
<input type="text" name="tel" />
<br /><br />
<label>تلفن همراه :</label>
<input type="text" name="cell" />
<br /><br />
<label>آدرس :</label>
<input type="text" name="address" />
<br />
<br />
<input type="submit" value="ثبت نام" style="font-family:Tahoma, Geneva, sans-serif; font-size:16px; text-align:center" />
&nbsp;&nbsp;&nbsp;
<input type="reset" value="پاک کردن اطلاعات" style="font-family:Tahoma, Geneva, sans-serif; font-size:16px; text-align:center" />

</form>

فرزند کوروش
یک شنبه 29 دی 1392, 20:13 عصر
Unknown column 'user' in 'field list'
ینی اینکه تو دیتابیست این وجود نداره

engmmrj
یک شنبه 29 دی 1392, 20:27 عصر
این پیغام خطا را نمایش میده:

Unknown column 'user' in 'field list'
فیلد user در table وجود ندارد !

هر جدولی باید ID داشته باشه اونو به جدولت اضافه کن و به دستور زیر تغییر دهید:
چه ربطی به مشکل ایشون داره ؟! در ضمن معمولا ID رو Auto میزارن !

ferry_2020
یک شنبه 29 دی 1392, 21:54 عصر
Unknown column 'user' in 'field list'
ینی اینکه تو دیتابیست این وجود نداره


البته من توی دیتابیسم یوزر و پس رو با نام username و password ذخیره کرده بودم
توی برنامه هم رفتم تغییر دادم ولی فایده نداشت.ولی وقتی توی دیتایس username و password رو به user و pass تغییر دادم،مشکلم حل شد.
واقعاً از لطف شما متشکرم.خیلی به من کمک کردید
فقط من موقع ایجاد دیتابیس با utf8_unicode_ci ذخیره کرده بودم ولی اطلاعات وارد شده در فرم که بصورت فارسی وارد شده بودند،در دیتابیس ناخوانا هستند.قسمتی رو هم برای ویرایش دیتابیس پیدا نکردم.اگر ممکن هست در این مورد هم راهنمایی بفرمایید. باز هم متشکرم

hamedarian2009
یک شنبه 29 دی 1392, 22:31 عصر
فقط من موقع ایجاد دیتابیس با utf8_unicode_ci ذخیره کرده بودم ولی اطلاعات وارد شده در فرم که بصورت فارسی وارد شده بودند،در دیتابیس ناخوانا هستند.قسمتی رو هم برای ویرایش دیتابیس پیدا نکردم.اگر ممکن هست در این مورد هم راهنمایی بفرمایید. باز هم متشکرم
http://barnamenevis.org/showthread.php?356992-%D9%BE%D8%B1%D8%B3%D8%B4%D9%87%D8%A7%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C