PDA

View Full Version : مبتدی: مشکل در کوئری insert برای وارد کردن اطلاعات از فرم



پیام حیاتی
یک شنبه 25 مرداد 1394, 21:36 عصر
سلام
این کدهای فرم من هست :

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Form</title>


</head>


<body>


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

Name : <input type="text" name="name" />
Email : <input type="text" name="email" />


<input type="submit" name="submit" value="submit" />

</form>


</body>
</html>

و این هم کدهای پردازش اطلاعات برای اضافه کردن اطلاعات :



<?php


$name = $_POST['$name'];
$email = $_POST['$email'];

if($name && $email)
{
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email) VALUES ('$name','$email')");

$register=mysql_affected_rows();
echo "$register was inserted";

}

else
{
echo "You have to Complete the form";
}

mysql_close();
?>




خطا :

134345
- در لوکال کار می کنم.

hamedarian2009
یک شنبه 25 مرداد 1394, 21:58 عصر
کدهای PHP رو به این صورت اصلاح کنید


if(isset($_POST['$name']) && isset($_POST['$email']))
{
$name = $_POST['$name'];
$email = $_POST['$email'];
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email) VALUES ('$name','$email')");

$register=mysql_affected_rows();
echo "$register was inserted";
mysql_close();
}

else
{
echo "You have to Complete the form";
}

پیام حیاتی
یک شنبه 25 مرداد 1394, 22:05 عصر
کدهای PHP رو به این صورت اصلاح کنید


if(isset($_POST['$name']) && isset($_POST['$email']))
{
$name = $_POST['$name'];
$email = $_POST['$email'];
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email) VALUES ('$name','$email')");

$register=mysql_affected_rows();
echo "$register was inserted";
mysql_close();
}

else
{
echo "You have to Complete the form";
}



با تغییرات و زدن دکمه این خطا نمایش داده میشه :

Forbidden


You don't have permission to access /process.php" on this server.


از برنامه Wampserver استفاده می کنم.

pejman_view
یک شنبه 25 مرداد 1394, 22:44 عصر
دو مورد:
اول که دیگه اکستنشن mysql منسوخ شده ! یا از mysqli یا pdo باید استفاده کنید. چون در ورژن های جدید php دیگر کار نمی کند. البته در این ورژنی که استفاده می کنید مشکلی ندارید.
دوم با روش دوستمون مشکل حل می شود و مشکل شما از چیز دیگر است.
از چه سیستم عاملی استفاده می کنی؟

پیام حیاتی
یک شنبه 25 مرداد 1394, 23:17 عصر
سیستم عامل ویندور 7.

پیام حیاتی
یک شنبه 25 مرداد 1394, 23:46 عصر
به جای Wamp برنامه Xamp رو هم تست کردم به همین شکل بود.

پیام حیاتی
دوشنبه 26 مرداد 1394, 00:25 صبح
الآن رو هاست تست کردم :
این آدرس (http://ahvazsell.ir/bform.php).
کدها :


<?php


$servername="Ip Host ro zadam";
$username="ahvazsel_payam";
$password="*******";
$dbname="ahvazsel_site";

$name = $_POST['$name'];
$email = $_POST['$email'];
$password = $_POST['$password'];


if(isset($_POST['$name']) && isset($_POST['$email']) && isset($_POST['$password']))
{
mysql_connect($servername, $username, $password, $dbname ) or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email,password) VALUES ('$name', '$email', $password)");

$register=mysql_affected_rows();
echo "$register was inserted";

}

else
{
echo "You have to Complete the form";
}

mysql_close();
?>



اما خطای زیر رو دارم :


Not Found


The requested URL /bprocess.php" was not found on this server.


Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


Apache/2 Server at ahvazsell.ir Port 80

mahdiak
دوشنبه 26 مرداد 1394, 00:34 صبح
عزیز من شما تو کد html احتمالا تو تگ form و action یک " کم یا زیاد گذاشتی

http://ahvazsell.ir/bprocess.php

این لینکو ببین بدون مشکل هست اما لینک بعد ارسال فرم را ببین

http://ahvazsell.ir/bprocess.php" میاد

mahdiak
دوشنبه 26 مرداد 1394, 00:35 صبح
الان سورس تو دیدم یک " کم گذاشتی


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

اینو بزار بجاش



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

پیام حیاتی
دوشنبه 26 مرداد 1394, 02:15 صبح
ممنون.
الآن در لوکال این خطاها رو دارم :

Notice: Undefined index: $name in C:\xampp\htdocs\bprocess.php on line 5


Notice: Undefined index: $email in C:\xampp\htdocs\bprocess.php on line 6


Notice: Undefined index: $password in C:\xampp\htdocs\bprocess.php on line 7
You have to Complete the form
Warning: mysql_close(): no MySQL-Link resource supplied in C:\xampp\htdocs\bprocess.php on line 25


در هاست هم فقط بعد از وارد کردن اطلاعات و کلیک فقط پیغام You have to Complete the form نمایش داده میشه و به جدول رکوردی اضافه نمیشه.

mahdiak
دوشنبه 26 مرداد 1394, 03:15 صبح
if(isset($_POST['$name']) && isset($_POST['$email']))
{
$name = $_POST['$name'];
$email = $_POST['$email'];
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email) VALUES ('$name','$email')");

$register=mysql_affected_rows();
echo "$register was inserted";
mysql_close();
}

else
{
echo "You have to Complete the form";
}



اگر از کد بالا استفاده کردی که مشکل همینجاست
کد زیر را جایگزین کن ببین چی میشه





if(isset($_POST['name']) && isset($_POST['email']))
{
$name = $_POST['name'];
$email = $_POST['email'];
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO `user` VALUES ('{$name}','{$email}')");

$register=mysql_affected_rows();
echo $register . ' was inserted';
mysql_close();
}

else
{
echo "Plz Submit Form";
}

پیام حیاتی
دوشنبه 26 مرداد 1394, 04:04 صبح
if(isset($_POST['$name']) && isset($_POST['$email']))
{
$name = $_POST['$name'];
$email = $_POST['$email'];
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email) VALUES ('$name','$email')");

$register=mysql_affected_rows();
echo "$register was inserted";
mysql_close();
}

else
{
echo "You have to Complete the form";
}



اگر از کد بالا استفاده کردی که مشکل همینجاست
کد زیر را جایگزین کن ببین چی میشه





if(isset($_POST['name']) && isset($_POST['email']))
{
$name = $_POST['name'];
$email = $_POST['email'];
mysql_connect("localhost", "root", "")or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO `user` VALUES ('{$name}','{$email}')");

$register=mysql_affected_rows();
echo $register . ' was inserted';
mysql_close();
}

else
{
echo "Plz Submit Form";
}



فقط چاپ می کنه : Plz Submit Form
------------------------------------
دیتابیس :

134353

کدها :




<?php

if(isset($_POST['$name']) && isset($_POST['$email']) && isset($_POST['$password']))
{
mysql_connect("localhost", "root", "") or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO user(name,email,password) VALUES ('{$name}', '{$email}', '{$password}'");

$register=mysql_affected_rows();
echo "$register was inserted";
mysql_close();

}

else
{
echo "Plz Submit Form";
}


?>




کدهای فرم :



<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Form</title>


</head>


<body>


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

Name : <input type="text" name="name" /><br />
Email : <input type="text" name="email" /><br />
password : <input type="password" name="password" />


<input type="submit" name="submit" value="register" />

</form>


</body>
</html>


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

mahdiak
دوشنبه 26 مرداد 1394, 04:38 صبح
کد زیر رو بدون دستکاری جایگزین کد PHP خودت بکن




<?php
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['password']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
mysql_connect("localhost", "root", "") or die("Not Connect!");
mysql_select_db("site");
mysql_query("INSERT INTO `user` VALUES (NULL, '{$name}', '{$email}', '{$password}'");

$register=mysql_affected_rows();
echo "$register was inserted";
mysql_close();

}else {
echo "Plz Submit Form";
}

?>

پیام حیاتی
دوشنبه 26 مرداد 1394, 05:53 صبح
پیغام :
-1 was inserted
اطلاعات اضافه نشد .

134354

mahdiak
دوشنبه 26 مرداد 1394, 12:30 عصر
یک مقدار رو فراموش کردیم مقدار NULL را برای ID در Query ارسال کنیم .

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

پیام حیاتی
دوشنبه 26 مرداد 1394, 16:50 عصر
باز هم پیغام
:

-1 was inserted

چه داستانی شد:اشتباه:

blue.web9
دوشنبه 26 مرداد 1394, 17:30 عصر
این خط از کدی که دوستمون نوشتن به این صورت تغییر بدید و امتحان کنید.


mysql_query("INSERT INTO `user` (`name`,`email`,`password`) VALUES ('$name', '$email', '$password')");

amir6268
دوشنبه 26 مرداد 1394, 19:12 عصر
من این مشکل رو قبلا داشتم.
دو حالت داره.
یا اینکه اطلاعاتی که وارد میکنی یا دریافت میکنی اشتباهه - اینجور که معلومه اینها درسته فقط یه حالت میمونه :
مشکل از ورژن php و ورژن سروری که استفاده میکنی هست ... چون پشتیبانی نمیکنه و نمیتونه اطلاعات رو دریافت و ثبت کنه.
دقیقا برای من هم مینوشت اطلاعات ارسال شد ولی چیزی توی دیتابیس ثبت نمیشد ...

mahdiak
دوشنبه 26 مرداد 1394, 19:51 عصر
پیوست صحبتی که با هم داشتیم این کد را برات نوشتم جایگزین کد php کن و جواب رو بده ببینیم چی شد

پیام حیاتی
سه شنبه 27 مرداد 1394, 02:02 صبح
پیوست صحبتی که با هم داشتیم این کد را برات نوشتم جایگزین کد php کن و جواب رو بده ببینیم چی شد
احسنت ، انجام شده فقط یک نکته اون هم اینکه زمانی که کلیک می کنیم بر روی دکمه صفحه سفید میشه ولی رکورد درج میشه.
در هاست به این آدرس (http://ahvazsell.ir/bform.php) کدها رو به شکلی که براتون ارسال کردم تغییر دادم اما با کلیک صفحه به حالت لودینگ میره و در نهایت خطای Connection Error ! اتفاق می افتد.

mahdiak
چهارشنبه 28 مرداد 1394, 01:51 صبح
جایی که $dbname را قرار دادید اشتباه بود باید در mysql_select_db قرار میدادین برات ارسال کردم کد اصلاح شده را