PDA

View Full Version : اتصال فرم به دیتابیس



nineteen
یک شنبه 08 بهمن 1391, 16:33 عصر
سلام
من یک فرمی به شکل زیر دارم میخواستم این فرم رو به دیتابیس اتصال بدم اگر از table استفاده کنم براحتی در قسمت user autenticaton برنامه dream waver میشه اتصال داد ولی نمیخام به هیچ وجه از جدول استفاده کنم
ممنون میشم راهنمایی کنید


<div id="login-box">
<div id="text" dir="rtl">
<form id="loginform" name="loginform" method="post" action="login-exec.php">
<div id="login-box-name">نام کاربری</div>
<div id="login-box-field"><input name="login" class="form-login" title="Username" value="" size="38" maxlength="2048" id="login" /></div>
<div id="login-box-name">رمز عبور</div>
<div id="login-box-field"><input name="password" type="password" class="form-login" title="Password" value="" size="38" maxlength="2048" /></div>
</form>
</div>
<a href="#"><img src="images/login-btn.png" width="93" height="32" id="btn-box" /></a>
</div>

nineteen
یک شنبه 08 بهمن 1391, 19:13 عصر
من نمیدونم همچین پستی قبلا زده شده یا نه ولی از دوستان خواهش می کنم راهنمایی کنند

nineteen
یک شنبه 08 بهمن 1391, 21:01 عصر
من به کمکتون احتیاج دارم بچه ها لطفا

زینب فاطمی
یک شنبه 08 بهمن 1391, 22:09 عصر
سلام
برای اتصال به دیتا بیس باید از زبان هایی مثل php یا asp استفاده کنید مثلا با PHP این رو بنویسی:

<?php

$link=mysql_connect('localhost','root','');
if(!$link)
{ die("couldn't connect to my sql");};
mysql_select_db('database',$link) or die("couldn't connect to db");
mysql_query('set names utf8') or die(mysql_error());

?>

ببینید ما یک فرم میزاریم و بعدش هم یه اتصال به دیتا بیس و توی کدی که گذاشتم جای database نام دیتابیس تون رو بنویسید .

nineteen
یک شنبه 08 بهمن 1391, 22:27 عصر
ممنون دوست عزیز که جواب دادین اما من میخام وقتی روی دکمه ای که در کد مشخص هست به صورت عکس کلیک می کنم تکست باکس هام چک بشه اگر درست بود وارد بشه

Joyebright
یک شنبه 08 بهمن 1391, 23:26 عصر
ممنون دوست عزیز که جواب دادین اما من میخام وقتی روی دکمه ای که در کد مشخص هست به صورت عکس کلیک می کنم تکست باکس هام چک بشه اگر درست بود وارد بشه

دوست عزیز اوالاٌ سوالتو واضح مطرح نکردی !
ثانیاٌ اینجا جای مطرح کردن این سوال نیستش که،شما باید سوالتو تو قسمت PHP یا ASP به صورت صحیح بیان کنی تا جواب بگیری

nineteen
یک شنبه 08 بهمن 1391, 23:44 عصر
ببینید این کد مربوط به دکمه هستش

<a href="#"><img src="images/login-btn.png" width="93" height="32" id="btn-box" /></a>

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

tamafi6
دوشنبه 09 بهمن 1391, 00:25 صبح
دوست من سوال شماچندين جواب داره درست توضيح بديدچي ميخواهيد
http://barnamenevis.org/showthread.php?380103-%d8%b3%d8%a7%d8%ae%d8%aa-%db%8c%da%a9-%d9%81%d8%b1%d9%85-%d8%aa%d9%85%d8%a7%d8%b3-%d8%b2%db%8c%d8%a8%d8%a7%d8%a8%d8%a7%d8%a7%d8%b3%d 8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2%d8%a2%d8%ae%d8%b1%db%8c%d9%86-%d8%a7%d9%85%da%a9%d8%a7%d9%86%d8%a7%d8%aa-html5-%d9%88-css3

Joyebright
دوشنبه 09 بهمن 1391, 00:34 صبح
ببینید این کد مربوط به دکمه هستش

<a href="#"><img src="images/login-btn.png" width="93" height="32" id="btn-box" /></a>

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


کد شما:

<input type="image" src="images/login-btn.png" width="93" height="32" alt="Submit button">

یقیه موارد چک کردن قبلا بهتون گفتم که ربطی به این تاپیک نداره

nineteen
دوشنبه 09 بهمن 1391, 02:18 صبح
ببینید من یک فرم خام طراحی کردم برای صفحه لاگین به این صورت


<div id="login-box"> <div id="text" dir="rtl"> <form id="loginform" name="loginform" method="post" action="login-exec.php"> <div id="login-box-name">نام کاربری</div> <div id="login-box-field"><input name="login" class="form-login" title="Username" value="" size="38" maxlength="2048" id="login" /></div> <div id="login-box-name">رمز عبور</div> <div id="login-box-field"><input name="password" type="password" class="form-login" title="Password" value="" size="38" maxlength="2048" /></div> </form> </div> <a href="#"><img src="images/login-btn.png" width="93" height="32" id="btn-box" /></a> </div>

حالا میخام این فرم رو به یک دیتابیس متصل کنم که وقتی کاربر یوزر و پسورد رو وارد کرد به دیتابیس متصل بشه و اگر صحیح بود به صفحه x بره اگر نه پیغام خطا بده

Joyebright
دوشنبه 09 بهمن 1391, 09:12 صبح
ببینید من یک فرم خام طراحی کردم برای صفحه لاگین به این صورت


<div id="login-box"> <div id="text" dir="rtl"> <form id="loginform" name="loginform" method="post" action="login-exec.php"> <div id="login-box-name">نام کاربری</div> <div id="login-box-field"><input name="login" class="form-login" title="Username" value="" size="38" maxlength="2048" id="login" /></div> <div id="login-box-name">رمز عبور</div> <div id="login-box-field"><input name="password" type="password" class="form-login" title="Password" value="" size="38" maxlength="2048" /></div> </form> </div> <a href="#"><img src="images/login-btn.png" width="93" height="32" id="btn-box" /></a> </div>

حالا میخام این فرم رو به یک دیتابیس متصل کنم که وقتی کاربر یوزر و پسورد رو وارد کرد به دیتابیس متصل بشه و اگر صحیح بود به صفحه x بره اگر نه پیغام خطا بده

آقا من نمیدونم چرا شما حرف خودتونو می زنید ، از بالا تا پایین تاپیکو چک کن فقط الان 3 بار سوالتو عوض کردی ،جستجو کن به جای اینکه به همین تاپیک تکیه کنی به تنهایی .شاید گوگل منظورتونو بفهمه!

nineteen
دوشنبه 09 بهمن 1391, 10:29 صبح
من سوالم رو عوض نکردم از ابتدا هم سوالم این بود که یه همچین فرمی دارم میخام ارتباط بدم به دیتا بیس
حتی عنوان تاپیک هم همینه

mokha21
دوشنبه 09 بهمن 1391, 10:38 صبح
دوست عزیز شما باید یه زبان برنامه نویسی بلد باشید تا بتونید فرم رو به دیتابیس وصل کنید . چه زبانی بلدید؟!(php - asp.net)

nineteen
دوشنبه 09 بهمن 1391, 10:47 صبح
دوست عزیز شما باید یه زبان برنامه نویسی بلد باشید تا بتونید فرم رو به دیتابیس وصل کنید . چه زبانی بلدید؟!(php - asp.net)

زبان برنامه نویسی php

mokha21
دوشنبه 09 بهمن 1391, 10:59 صبح
خوب برای اتصال به دیتابیس اطلاعات پست شده از فرم رو بررسی کنید سپس وارد دیتابیس کنید

چک کردن فرم : لینک (http://barnamenevis.org/showthread.php?379862-%D9%81%D8%B9%D8%A7%D9%84-%D8%B4%D8%AF%D9%86-%D8%AF%DA%A9%D9%85%D9%87-sabmit-%D8%AF%D8%B1-%D9%81%D8%B1%D9%85-%D8%A8%D8%A7-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B4%D8%B1%D8%B7&p=1680302&viewfull=1#post1680302)

Mohsen.
دوشنبه 09 بهمن 1391, 11:04 صبح
ببینید.
شما ابتدا باید با استفاده از jquery چک کنید که آیا داخل textbox ها پر شده است یا نه. این سوال اول شما بود. البته میتونید به جای jquery از مشخصه required هم استفاده کنید. این مشخصه کاری میکنه که کاربر حتما باید قبل از submit اون رو پر کنه در غیر اینصورت عمل submit انجام نمیشه.


<input type="text" required="required" />


بعد که کاربر تمام textboxها رو پر کرد اطلاعات فرم submit شده به صفحه ای که شما در مقدار action فرم نوشتید ارسال میشه. در اون صفحه شما با زبانهای سمت سرور میتونید از این اطلاعات استفاده کنید. یعنی با PHP به دیتابیس وصل بشید و چک کنید ببینید که آیا اطلاعات وارد شده درست است یا نه. مثلا یک نمونه ساده:


$connection=@mysql_connect($host,$user_name,$pass_ word) or die(mysql_error());
if($connection){$connectionResult= "به MySQL وصل شد.<br />";}

$dbConnection=mysql_select_db($db_name,$connection ) or die(mysql_error());
if($dbConnection){$dbConnectionResult="به دیتابیس وصل شد.";}

mysql_set_charset('utf8');
$username=$_POST['user-name'];
$password=$_POST['pass-word'];
function student_in($user,$pass){
//Check this user as student
$query="select * from `student` where `melicode`=$user and `pass`=$pass";
$result=mysql_query($query);
if(mysql_num_rows($result)>0){
$row=mysql_fetch_array($result);
session_start();
$_SESSION['user']="student";
$_SESSION['id']=$row['id'];
header('Location: student.php');
}
}

nineteen
دوشنبه 09 بهمن 1391, 11:37 صبح
ببینید این کد صفحه اولم هست


<!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>Login Box</title>

<link href="login-box.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div style="padding: 100px 0 0 250px;">
<div id="login-box">
<div id="text" dir="rtl">
<form id="loginform" name="loginform" method="post" action="login-exec.php">
<div id="login-box-name">نام کاربری</div>
<div id="login-box-field"><input name="login" class="form-login" title="Username" value="" size="38" maxlength="2048" id="login" /></div>
<div id="login-box-name">رمز عبور</div>
<div id="login-box-field"><input name="password" type="password" class="form-login" title="Password" value="" size="38" maxlength="2048" /></div>
</div>
<a href="#"><img src="images/login-btn.png" width="93" height="32" id="btn-box" /></a>
</form>
</div>
</div>
</body>
</html>

اینم کد جایی که برای اعتبار سنجی ارسال میسه


<?php

session_start();


require_once('config.php');


$errmsg_arr = array();
$errflag = false;


$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('خطا در برقراری ارتباط با سرور: ' . mysql_error());
}


$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("سرور قادر به انتخاب دیتابیس نیست");
}


function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}


$login = clean($_POST['login']);
$password = clean($_POST['password']);


if($login == '') {
$errmsg_arr[] = 'نام کاربری اشتباه است';
$errflag = true;
}
if($password == '') {
$errmsg_arr[] = 'گذر واژه اشتباه است';
$errflag = true;
}


if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: login-form.php");
exit();
}


$qry="SELECT * FROM members WHERE cms='$login' AND passwd='".md5($_POST['password'])."'";
$result=mysql_query($qry);


if($result) {
if(mysql_num_rows($result) == 1) {
//لاگین با موفقیت اجرا شد
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
session_write_close();
header("location: member-index.php");
exit();
}else {

header("location: login-failed.php");
exit();
}
}else {
die("Query failed");
}
?>

اینم کد config


<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'cms');
?>

ولی زمانی که روی دکمه کلیک می کنم هیچ اتفاقی رخ نمیده

Mohsen.
دوشنبه 09 بهمن 1391, 12:05 عصر
خب دوست عزیز شما به جای اینکه بیاید دکمه Submit رو در فرم قرار بدید به جاش یک عکس گذاشتید. شما باید به جای اون کد زیر رو قرار بدید.

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


اینو اعمال کنید بعد ببینید باز هم مشکلی هست یا نه.

nineteen
دوشنبه 09 بهمن 1391, 12:15 عصر
خب دوست عزیز شما به جای اینکه بیاید دکمه Submit رو در فرم قرار بدید به جاش یک عکس گذاشتید. شما باید به جای اون کد زیر رو قرار بدید.

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


اینو اعمال کنید بعد ببینید باز هم مشکلی هست یا نه.

این طوری که اعمال میکنم واکنش نشون میده و میزنه Query failed
در حالی که من یک دیتابیس ایجاد کردم به اسم cms و داخل اون یک table دارم با نام member و محتوای اون شامل id,login,passwd و محتوای اون رو هم test,test گذاشتم

Mohsen.
دوشنبه 09 بهمن 1391, 12:44 عصر
خب اون دیگه مشکل از کدهای PHPتون هست. باید رفع بشه.

nineteen
دوشنبه 09 بهمن 1391, 16:07 عصر
خب اون دیگه مشکل از کدهای PHPتون هست. باید رفع بشه.

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

Mohsen.
دوشنبه 09 بهمن 1391, 17:15 عصر
در حالی که من یک دیتابیس ایجاد کردم به اسم cms و داخل اون یک table دارم با نام member و محتوای اون شامل id,login,passwd و محتوای اون رو هم test,test گذاشتم

توی کدتون اسم جدول members است نه member
بعد احتمالا شما username و pass رو اشتباه وارد میکنید. چون پیغام Query failed رو خودتون در انتهای کد نوشتید که اگر مطابقت نداشت این پیغامو بده.

nineteen
دوشنبه 09 بهمن 1391, 17:58 عصر
توی کدتون اسم جدول members است نه member
بعد احتمالا شما username و pass رو اشتباه وارد میکنید. چون پیغام Query failed رو خودتون در انتهای کد نوشتید که اگر مطابقت نداشت این پیغامو بده.

به members تغییر دادم جدولم رو بازم درست نشد
در ضمن من هرچی بزنم داخل تکست باکس همین خطا رو میده حتی اگر درست وارد کنم

nineteen
سه شنبه 10 بهمن 1391, 23:56 عصر
کمک کنید لطفا من مشکلم برطرف نشده

nariman_t
جمعه 13 بهمن 1391, 02:36 صبح
براي اين كه بتونيد ببينيد كجار query تون مشكل داره در هر جايي كه از تابع mysql_query() استفاده كرديد دنبالش اين كد رو قرار بديد
or die(mysql_error());
تا ببينيد خطا اثلا به طور واضح چي هستش
كد خطايي كه مياد رو اينجا بزاريد تا متوجه شيم چند چنده جريان

nineteen
جمعه 13 بهمن 1391, 10:02 صبح
براي اين كه بتونيد ببينيد كجار query تون مشكل داره در هر جايي كه از تابع mysql_query() استفاده كرديد دنبالش اين كد رو قرار بديد
or die(mysql_error());
تا ببينيد خطا اثلا به طور واضح چي هستش
كد خطايي كه مياد رو اينجا بزاريد تا متوجه شيم چند چنده جريان

ممنون مشکلم برطرف شد

arezoo640
چهارشنبه 21 اسفند 1398, 11:13 صبح
سلام یعنی این کد رو باید در فایل جدا درست کنیم ؟