مشکل در اتصال و ورود اطلاعات به پایگاه داده
با سلام به دوستان و اساتید محترم
اخیرا بنده یه یک مشکل عجیب برخوردم که هرچی هم جستجو کردم و مطالب مشابه دیدم و امتحان کردم بازهم مشکل به قوت خودش باقی ماند.
ببینید ما یه فرم php داریم که میخوایم insert انجام بدیم. بنده کدهاش رو میزارم تا دوستان کارشناسی کنند که مشکل از کجا میتونه باشه.
عناصر موجود در صفحه :
<form id="form3" name="form3" method="post" action="index.php" >
<label for="name">نام و نام خانوادگی</label>
<input type="text" id="name" name="name" dir="rtl">
<label for="phone">شماره تماس</label>
<input type="text" id="phone" name="phone">
<label for="email">پست الکترونیکی</label>
<input type="text" id="email" name="email" >
<label for="website">آدرس وب سایت</label>
<input type="text" id="website" name="website">
<label for="comments">متن</label>
<textarea id="comments" name="comments" rows="3" cols="30" dir="rtl"></textarea>
<input name="btn_submit" type="submit" id="btn_submit"
onclick="notEmpty(document.getElementById('name'), 'لطفاًً مقدار نام را وارد نمایید')
notEmpty(document.getElementById('phone'), 'لطفاًً مقدار شماره تماس را وارد نمایید')
notEmpty(document.getElementById('email'), 'لطفاًً مقدار پست الکترونیکی را وارد نمایید')
notEmpty(document.getElementById('website'), 'لطفاًً مقدار آدرس وب سایت را وارد نمایید')
notEmpty(document.getElementById('comments'), 'لطفاًً مقدار متن را وارد نمایید')
emailValidator(document.getElementById('req7'), 'لطفاً پست الکترونیکی را به صورت ایمیل وارد نمایید')
isAlphabet(document.getElementById('name'), 'لطفاً مقدار نام را فقط حروف وارد نمایید')
" value="ثبت" />
<input name="btn_cancel" type="submit" id="btn_cancel" value="انصراف" />
</form>
کد php مربوط به اتصال و ورود اطلاعات :
<?php
if ($_POST[btn_submit] != ""){
$name=$_POST[name];
$phone=$_POST[phone];
$email=$_POST[email];
$website=$_POST[website];
$comments=$_POST[comments];
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("signup", $con);
$cc=mysql_query("SET NAMES 'utf8'");
mysql_set_charset('utf8',$link_id);
//$result = mysql_query ("select count(name) from contact WHERE mellicode='$mellicode' ");
//$count1 = mysql_fetch_array($result);
$save_information= mysql_query("INSERT INTO signup (name,phone,email,website,comments)
VALUES
('$name','$phone','$email','$website','$comments') ")
or die (mysql_error());
}
?>
<?php
if ($_POST[btn_submit] != ""){
echo "سلام دوستان";
echo "سلام دوستان";
}
?>
توضیحات : ابتدا بنده به کد شک کردم اما هرچقدر که دقت کردم دیدم کد مشکل نداره و مطابق روال است.حتی کد پایین که echo میباشد اجرا می شود. اما به نظرم به دیتابیس کانکت نمیشود.
سوال : آیا مربوط به Mysql نمیباشد و تعریف یوزر برای این پایگاه داده یا میتوان با همان Localhost و یوزر root اتصال برقرار شود.
بنده هرچه تلاش کردم حتی با root نیز ارتباطم برقرار نشد.و پس از زدن دکمه Submit تنها صفحه request میشود و هیچ نتیجه ای در پایگاه داده ذخیره نمی گردد.
منتظر پاسخ و راهنمایی سایر دوستان هستم تا شاید مشکل بعضی از دوستان هم به صورت کامل حل گردد.
با تشکر........
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
اگه روی هاست کار میکنید، باید از نام کاربری مخصوصی که تعریف کردین استفاده کنید و کاربر root در اختیار شما قرار داده نمیشه (بخاطر مسائل امنیتی). این کد رو تست کنید و ببینید چه خطایی دریافت میکنید:
<?php
if (isset($_POST['btn_submit'])) {
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$website = $_POST['website'];
$comments = $_POST['comments'];
$con = mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('signup') or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
mysql_query("
INSERT INTO `signup` (`name`,`phone`,`email`,`website`,`comments`)
VALUES ('{$name}','{$phone}','{$email}','{$website}','{$c omments}')
");
if (mysql_affected_rows() <= 0) {
echo mysql_error();
}
}
?>
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
نقل قول:
نوشته شده توسط
MMSHFE
اگه روی هاست کار میکنید، باید از نام کاربری مخصوصی که تعریف کردین استفاده کنید و کاربر root در اختیار شما قرار داده نمیشه (بخاطر مسائل امنیتی). این کد رو تست کنید و ببینید چه خطایی دریافت میکنید:
<?php
if (isset($_POST['btn_submit']) {
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$website = $_POST['website'];
$comments = $_POST['comments'];
$con = mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('signup') or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
mysql_query("
INSERT INTO `signup` (`name`,`phone`,`email`,`website`,`comments`)
VALUES ('{$name}','{$phone}','{$email}','{$website}','{$c omments}')
");
if (mysql_affected_rows() <= 0) {
echo mysql_error();
}
}
?>
این کد رو قرار دادم جای کد قبلی این پیغام رو داد :
Parse error: syntax error, unexpected '{' in D:\wamp\www\1\index.php on line 274
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
با اجازه جناب شهرکی ، کد اصلاح شد. دوست گرامی این رو تست کنید
<?php
if (isset($_POST['btn_submit'])) {
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$website = $_POST['website'];
$comments = $_POST['comments'];
$con = mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('signup') or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
mysql_query("INSERT INTO `signup`
(`name`,`phone`,`email`,`website`,`comments`)
VALUES ('{$name}','{$phone}','{$email}','{$website}','{$c omments}')
");
if (mysql_affected_rows() <= 0) {
echo mysql_error();
}
}
?>
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
نقل قول:
نوشته شده توسط
delphiprog3000
این کد رو قرار دادم جای کد قبلی این پیغام رو داد :
Parse error: syntax error, unexpected '{' in D:\wamp\www\1\index.php on line 274
دوست عزیز، دیگه اصلاح کردن یک پرانتز که اشتباهاً جا افتاده بوده که کار مشکلی نیست! متن پیغام خطا رو بخونید: میگه انتظار } توی خط 274 نداشته. ببینید چرا این خطا رو داده و کجای کد مشکل داشته. همه چیز که نباید آماده باشه :لبخندساده:
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
اگر اون کد هم جواب نداد از این استفاده کنید:
<?php
if (isset($_POST['btn_submit'])) {
$name = isset($_POST['name']) ? $_POST['name'] :'';
$phone = isset($_POST['phone']) ? $_POST['phone'] :'';
$email = isset($_POST['email']) ? $_POST['email'] :'';
$website = isset($_POST['website']) ? $_POST['website'] : '';
$comments = isset($_POST['comments'])? $_POST['comments'] : '';
$con = mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('signup') or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
mysql_query('INSERT INTO `signup`
(`name`,`phone`,`email`,`website`,`comments`)
VALUES
(
"'.$name.'",
"'.$phone.'",
"'.$email.'",
"'.$website.'",
"'.$comments.'"
)
');
if (mysql_affected_rows() <= 0) {
echo mysql_error();
}
}
?>
1 ضمیمه
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
با تشکر از توجه اساتید گرامی. بله اون ارور بخاطر ( بود که میباشد بعد از isset بگذارم.
بنده این کد رو قرار دادم و در عین ناباوری مشکل هنوز باقیست. هیچ دیتایی در پایگاه داده ذخیره نشد ...؟
به نظر شما ایراد از چی میتونه باشه.دیتابیس بنده test و جدول بنده signup می باشد. در ضمن عکسی هم از یوزرهای دیتابیس هم قرار میدم تا مورد نظر شما باشه . با تشکر
<?php
if (isset($_POST['btn_submit'])) {
$name = isset($_POST['name']) ? $_POST['name'] :'';
$phone = isset($_POST['phone']) ? $_POST['phone'] :'';
$email = isset($_POST['email']) ? $_POST['email'] :'';
$website = isset($_POST['website']) ? $_POST['website'] : '';
$comments = isset($_POST['comments'])? $_POST['comments'] : '';
$con = mysql_connect('localhost', 'root', '') or die('Connection error');
mysql_select_db('test') or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
mysql_query('INSERT INTO `signup`
(`name`,`phone`,`email`,`website`,`comments`)
VALUES
(
"'.$name.'",
"'.$phone.'",
"'.$email.'",
"'.$website.'",
"'.$comments.'"
)
');
if (mysql_affected_rows() <= 0) {
echo mysql_error();
}
}
?>
اینم عکس از محیط Mysql و یوزرهاش:
ضمیمه 104180https://barnamenevis.org/images/misc/pencil.png
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
شما کد کاملتونو با Sql بزارید پس که بررسی بشه
الان نباید مشکلی باشه به نظرم
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
با سلام به دوستان عزیز.
پیغام خطا اصلا نمیده.هیچ اتفاقی هم نمیوفته یعنی اطلاعات درج نمیشن.
دوست عزیزم تمام چیزایی که می باست بزارم گذاشتم.هم کد رو گذاشتم هم عکس از محیط پایگاه داده به همراه یوزرهایی که ساختم.
برام عجیبه آیا تا به حال اینجور شده که بعد از زدن دکمه سابمیت هیچ اتفاقی نیوفته .در صورتی که در رویداد onclikesh کدهای جاوا که نوشتم کار میکنه.و حتی یه کد دیگه از php هم که نوشتم کار میکنه اما عجیبه که این کد رو که برای ذخیره اطلاعات هست رو میزارم کار نمیکنه و ......
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
با اجازه دوستان متخصص عزیز
این کد رو تست کنید:
error_reporting("E_ALL");
$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_query('USE `test`') or die(mysql_error());
mysql_query("INSERT INTO `signup` (`name`,`phone`,`email`,`website`,`comments`)VALUE S('a','021','b','c','d')") or die(mysql_error());
ببینید اروری میده؟
اگه نمیده اینو بجای خط آخر تست کنید ببینید بازم ارور نمیده؟
mysql_query("adgwrg ") or die(mysql_error());
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
دوست عزیز دستی داخل mysql اطلاعات وارد کنید بعد تلاش کنید ببینید میتونید با select اطلاعات رو نشون بدید تا ببینید connection برقرار میشه
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
نقل قول:
نوشته شده توسط
dousti_design
با اجازه دوستان متخصص عزیز
این کد رو تست کنید:
error_reporting("E_ALL");
$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_query('USE `test`') or die(mysql_error());
mysql_query("INSERT INTO `signup` (`name`,`phone`,`email`,`website`,`comments`)VALUE S('a','021','b','c','d')") or die(mysql_error());
ببینید اروری میده؟
اگه نمیده اینو بجای خط آخر تست کنید ببینید بازم ارور نمیده؟
mysql_query("adgwrg ") or die(mysql_error());
با سلام دوست من دستور شمارو اجرا کردم اما نه کد اول اخطار داد و نه کد دوم. نظرتون چیه چرا اینجور شده مشکل که از wamp نیست.
کد php پاینی که اجرا میشه موندم چرا اینجور
لطفا بازم راه کار بدید با تشکر.
نقل قول: مشکل در اتصال و ورود اطلاعات به پایگاه داده
با سلام. پس از چندی کلنجار با wamp و نصب و پاک کردن قسمتی که سوال امنیتی میپرسه.روی unblock قرارش دادم. و فایروال ویندوز رو خاموش کردم در عین ناباوری دیتا در Mysql درج شد.
بازم از توجه دوستان و اساتید که بنده رو همراهی کردن سپاس گذارم.