PDA

View Full Version : سوال: مشکل در ارتباط با پایگاه و گرفتن اطلاعات از فرم



Samsam2010
سه شنبه 21 دی 1389, 19:46 عصر
با سلام
دوستان من یک صفحه ای درست کردم که چند تا مقدرا رو میگیره بعد در دیتا بیس ذخیره میکنه.
و یک صفحه ای هم درست کردم اطلاعات دیتا بیس رو نشون میده .

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

فرم HTML :

<html>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<head>


<title>
سلام
</title>

<style type="text/css">
<!--
body{
font-family: tahoma;
color: #000000;
font-size: 12px;
}
-->
</style>
</head>

<body>


<form name="form2" method="post" action="handleform.php">
</form>
<div id="Layer1" style="position:absolute; left:370px; top:200px; width:290px; height:84px; z-index:1">
<center>

<table width=100 border=0>
<tr>
<td align=right dir=rtl>

نام:
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text1" value="">
</td>
</tr>


<td align=right dir=rtl>

نام خانوادگي :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text2" value="">
</td>
</tr>

<td align=right dir=rtl>

ايميل :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text3" value="">
</td>
</tr>


<td align=right dir=rtl>

شماره كارت :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text4" value="">
</td>
</tr>



<td align=right dir=rtl>

شماره دانشجويي :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text5" value="">
</td>
</tr>

<tr>
<td align=center>

<input type="submit" name="Submit1" value="تاييد">
</td>
</tr>


</table>





</div>
<div align="center">
<div><img src="1.jpg" width="500" height="600"></div>


</div>


</body>

</html>

اتصال به بانک :

<html>
<head>
<title>connect to DataBase ...</title>
</head>
<body>





<?php
$Array["text1"]=trim($Array["text1"]);
$Array["text2"]=trim($Array["text2"]);
$Array["text3"]=trim($Array["text3"]);
$Array["text4"]=trim($Array["text4"]);
$Array["text5"]=trim($Array["text5"]);

//connect to database

$Host ="localhost";
$User="me";
$Password="123456";
$DBName="me";
$TablesName="feedback";

$link = mysql_connect($Host,$User,$Password);

$Query = "INSERT into $TablesName values('0','$Array[text1]','$Array[text2]','$Array[text3]','$Array[text4]','$Array[text5]')";

print("The qurey is:<BR>$Qurey<P>\n");
if (mysql_db_query($DBName,$Query,$link)){
print("The query was successfully executed!<BR>\n");
}

else{
print("The query could not be executed!<BR>\n");

}

mysql_close($link);


?>

</body>
</html>

نمایش اطلاعات DataBase :


<html>
<head>
<title>connect to DataBase ...</title>
</head>
<body>





<?php
$Array["text1"]=trim($Array["text1"]);
$Array["text2"]=trim($Array["text2"]);
$Array["text3"]=trim($Array["text3"]);
$Array["text4"]=trim($Array["text4"]);
$Array["text5"]=trim($Array["text5"]);

//Access to database

$Host ="localhost";
$User="user";
$Password="password";
$DBName="NewDatabase";
$TablesName="feedback";

$link = mysql_connect($Host,$User,$Password);

$Query = "SELECT * from $TablesName";
$Result=mysql_db_query($DBName,$Query,$link);
//create a tables
print("<TABLE BORDER=1 WIDTH=\"70%\"
CELLSPACING=2 CELLPADDING=2
ALIGHN=CENTER>\n");
print("<TR ALIGN=CENTER VALIGN=TOP\n");
print("<TD ALIGN=CENTER VALIGN=TOP>text1</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>text2</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>text3</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>text4</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>text5</TD>\n");
print("</TR>\n");
//fetch the result from database
while($Row=mysql_fetch_array($Result)){

print("<TR ALIGN=CENTER VALIGN=TOP>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>$Row[text1]$Row[text2]</TD>\n");

print("<TD ALIGN=CENTER VALIGN=TOP>$Row[text3]</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>$Row[text4]</TD>\n");
print("<TD ALIGN=CENTER VALIGN=TOP>$Row[text5]</TD>\n");

print("</TR>\n");

}

mysql_close($link);
print("</TABLE>\n");


?>

</body>
</html>


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

mohsen24000
سه شنبه 21 دی 1389, 23:10 عصر
خب دوست من شما برای ورود اطلاعات از $_POST['text1'] استفاده کنید و به همین ترتیب برای متغییرهای دیگه...


$Array['text1']=$_POST['text1'];
...

shahriyar3
سه شنبه 21 دی 1389, 23:15 عصر
چه اروری میده ؟
متن و ارور و اگه بزاری میشه کمک کرد

Samsam2010
چهارشنبه 22 دی 1389, 15:50 عصر
ممنون دوستان که جواب دادید


خب دوست من شما برای ورود اطلاعات از
$_POST['text1']
استفاده کنید و به همین ترتیب برای متغییرهای دیگه...

انجام دادم ممنون الان اینطوری شده

$text1=trim($_POST['text1']);
خاصیت آرایه اش رو برداشتم

چه اروری میده ؟
متن و ارور و اگه بزاری میشه کمک کرد

دوست من اصلا ارروری نمیده ، اصلا دکمه فرم کار نمیکنه من الان مشکلم اینه که چی کنم تا این دکمه کار کنه[ من ویژوال کار میکنم (رویداد خاصی نداره ؟)]
الان به این شکل نوشتم اما بازم کار نمیکنه

<input type="submit" value="ثبت" name="handleform.php">

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

<form action="handleform.php" method="post">
</form>

برای اتصال به بانک هم از این کد استفاده کردم (ناگفته نماند جدول نمیدنم چطوری فیلد برای جدولم بسازم همینطوری براش تو cpanel دیتا بیس ساختم درسته ؟؟


$link = mysql_connect($Host,$User,$Password);

$Query = "INSERT into $TablesName values('0','$text1','$text2','$text3','$text4','$t ext5')";)

mohsen24000
چهارشنبه 22 دی 1389, 16:57 عصر
یعنی چی کار نمی کنه!؟ یعنی هیچ اطلاعاتی در بانک درج نمیشه؟ یا اصلا فایل handleform.php فراخوان نمیشه!؟


<form name="input" action="handleform.php" method="post">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>

shahriyar3
چهارشنبه 22 دی 1389, 19:00 عصر
دوست عزیز
یه اشتباه خیلی کوچیک داشتین که حاصل بی دقتیتون بود :چشمک: درسته الان کدتون


<html>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<head>


<title>
سلام
</title>

<style type="text/css">
<!--
body{
font-family: tahoma;
color: #000000;
font-size: 12px;
}
-->
</style>
</head>

<body>


<form name="form2" method="post" action="handleform.php">

<div id="Layer1" style="position:absolute; left:370px; top:200px; width:290px; height:84px; z-index:1">
<center>

<table width=100 border=0>
<tr>
<td align=right dir=rtl>

نام:
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text1" value="">
</td>
</tr>


<td align=right dir=rtl>

نام خانوادگي :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text2" value="">
</td>
</tr>

<td align=right dir=rtl>

ايميل :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text3" value="">
</td>
</tr>


<td align=right dir=rtl>

شماره كارت :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text4" value="">
</td>
</tr>



<td align=right dir=rtl>

شماره دانشجويي :
</td>
</tr>
<tr>
<td align=center>

<input type="text" name="text5" value="">
</td>
</tr>

<tr>
<td align=center>

<input type="submit" name="Submit" value="تاييد">
</td>
</tr>


</table>





</div>
<div align="center">
<div><img src="1.jpg" width="500" height="600"></div>


</div>

</form>
</body>

</html>

Samsam2010
چهارشنبه 22 دی 1389, 22:53 عصر
دوست عزیز
یه اشتباه خیلی کوچیک داشتین که حاصل بی دقتیتون بود درسته الان کدتون
ممنون دوستان الان فقط یک مشکلی دارم اونم مشکل ساخت دیتا بیس و اتصال به اون هست
من توسط phpmyadmin یک جدول با 6 تا فیلد ساختم id و name ,lname,mail,cardnum,stdnum حالا با کد زیر به بانک وصل شدم




<?php

$text1=trim($_POST['text1']);
$text2=trim($_POST['text2']);
$text3=trim($_POST['text3']);
$text4=trim($_POST['text4']);
$text5=trim($_POST['text5']);



//connect to database


$Host ="localhost";
$User="me";
$Password="123456";
$DBName="domin_me";
$TablesName="feedback";

$link = mysql_connect($Host,$User,$Password);
mysql_select_db($DBName);
$sql1="INSERT INTO '$TablesName' ( 'name' , 'lname' , 'mail' , 'cardnum' , 'stunum') VALUES ('$text1', '$text2', '$text3', '$text4', '$text5');";
mysql_query($sql1);


print("The qurey is:<BR>$Qurey<P>\n");
if (mysql_db_query($DBName,$Query,$link)){
print("The query was successfully executed!<BR>\n");
}

else{
print("The query could not be executed!<BR>\n");

}

mysql_close($link);

?>

بعد از وارد کردن اطلاعات پیغام زیر رو میده

The query could not be executed!

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

shahriyar3
چهارشنبه 22 دی 1389, 23:41 عصر
ممنون دوستان الان فقط یک مشکلی دارم اونم مشکل ساخت دیتا بیس و اتصال به اون هست
من توسط phpmyadmin یک جدول با 6 تا فیلد ساختم id و name ,lname,mail,cardnum,stdnum حالا با کد زیر به بانک وصل شدم




<?php

$text1=trim($_POST['text1']);
$text2=trim($_POST['text2']);
$text3=trim($_POST['text3']);
$text4=trim($_POST['text4']);
$text5=trim($_POST['text5']);



//connect to database


$Host ="localhost";
$User="me";
$Password="123456";
$DBName="domin_me";
$TablesName="feedback";

$link = mysql_connect($Host,$User,$Password);
mysql_select_db($DBName);
$sql1="INSERT INTO '$TablesName' ( 'name' , 'lname' , 'mail' , 'cardnum' , 'stunum') VALUES ('$text1', '$text2', '$text3', '$text4', '$text5');";
mysql_query($sql1);


print("The qurey is:<BR>$Qurey<P>\n");
if (mysql_db_query($DBName,$Query,$link)){
print("The query was successfully executed!<BR>\n");
}

else{
print("The query could not be executed!<BR>\n");

}

mysql_close($link);

?>

بعد از وارد کردن اطلاعات پیغام زیر رو میده

The query could not be executed!

دوستان ممنون میشم کد رو تریس کنید ببینید درسته یا نه
در مورد کار با phpmyadmin هم اگر نکته ای هست بگید ممنون میشم
دوست عزیز
مشکل قبلیت هم همین شکلی بود (یه ; زیاد گذاشتی)
یکم دقت کنی کد هات مشکلی نداره فقط یه کاراکتر اضافه مینویسی که احتیاجی به trace کردن نداره
در ضمن بهترین راه برای نوشتن کد های sql اینه که برنامه phpmyadmin و باز کنی هر عملیاتی که میخوای اونجا انجام بده خودش کد حاضر آماده بهت تحویل میده همونو کپی کن تا دستت راه بیفته به استاندارد نویسی

Samsam2010
پنج شنبه 23 دی 1389, 12:18 عصر
با سلام مجدد
از شما بخاطر پاسخگویی به سوالات من جدا ممنونم .
دوست عزیز من الان به بانک هم میتونم متصل بشم فقط این پیغام رو میده اگر این پیغام رو رد کنم گمان میکنم که دیگه تمومه

Connected successfully Query failed : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''feedback' ( 'name' , 'lname' , 'mail' , 'cardnum' , 'stunum') VALUES ('33321', ' at line 1
به نظر شما مشکل از کجاست

اینم اطلاعات php هاستم :

MySQL

Server: Localhost via UNIX socket
Server version: 5.1.51-log
Protocol version: 10
User: me
MySQL charset: UTF-8 Unicode (utf8)

توی این ورژن syntax فرق کرده ؟

shahriyar3
پنج شنبه 23 دی 1389, 20:29 عصر
با سلام مجدد
از شما بخاطر پاسخگویی به سوالات من جدا ممنونم .
دوست عزیز من الان به بانک هم میتونم متصل بشم فقط این پیغام رو میده اگر این پیغام رو رد کنم گمان میکنم که دیگه تمومه

Connected successfully Query failed : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''feedback' ( 'name' , 'lname' , 'mail' , 'cardnum' , 'stunum') VALUES ('33321', ' at line 1به نظر شما مشکل از کجاست

اینم اطلاعات php هاستم :

MySQL

Server: Localhost via UNIX socket
Server version: 5.1.51-log
Protocol version: 10
User: me
MySQL charset: UTF-8 Unicode (utf8)توی این ورژن syntax فرق کرده ؟
عزیز من
عرض کردم خدمتتون که شما اگر توی phpmyadmin اول این کوئری رو انجام بدین خودش بهتون کد سالم میده
این اشکال هم از کدتون هست نه از اطلاعات php
ببین یه مثال واست میزنم که راحت تر کار کنی
توی برنامه phpmyadmin روی تیبل مورد نظرت کلیک کن بعد برای اینکه بتونی کوئری اینزرت اجرا کنی کل تیبل و select کن بعد روی عکس مدادی که اون پائین تیبل هست کلیک کن و مقدار های مورد نظرتو دونه دونه توش تایپ کن بعد دکمه save یا go رو بزن حالا توی صفحه جدید بالای تیبل توی یه کادر کل کد و بهت تحویل میده
به همین راحتی ; بخاطر خودت میگم و گرنه برای من کاری نداره این اشکالات و بگیرم ولی اینا کد هائیه که باید بتونی تو 2-3 دقیقه تایپ کنی نه اینکه برای هر کوئری یک روز وقت بزاری:چشمک: