PDA

View Full Version : نحوه ذخيره اطلاعات دربان



bps20590
یک شنبه 02 فروردین 1388, 09:29 صبح
با سلام چطور ميشه بوسيله ajax اطلاعات را دربانك ذخيره كرد

amir.s
دوشنبه 03 فروردین 1388, 00:22 صبح
سلام

دوست من ، Ajax یه تکنولوژی سمت کاربر هست و دسترسی به دیتابیس سرور نداره .

شما با این ابزار میتونید اطلاعات رو به سرور ارسال بکنید ( با ویژگی های منحصر به فرد خودش) . ذخیره کردن در دیتابیس کار یه زبان سمت سرور هست مثل PHP .

maysamscript
دوشنبه 03 فروردین 1388, 00:41 صبح
در مورد Ajax مطالب زیادی در سایت پیدا می شه
در واقع شما با Ajax اطلاعاتی را به وسیله جاوااسکریپ به یک صفحه php با متد گت یا پست ارسال می کنید
اطلاعات ارسال شده در آن صفحه قابل دریافت و ثبت در دیتابیس می باشد.

bps20590
سه شنبه 04 فروردین 1388, 00:03 صبح
دوست عزيز من منظورم رو اشتباه رسوندم منظور اصلي من همان كدي است كه اطلاعات را گرفته وبه يك فايل php براي ذخيره دربانك ارسال مي كند

guy18iran
سه شنبه 04 فروردین 1388, 09:38 صبح
دوست عزيز من منظورم رو اشتباه رسوندم منظور اصلي من همان كدي است كه اطلاعات را گرفته وبه يك فايل php براي ذخيره دربانك ارسال مي كند
سلام به همه و سال نو مبارک. :چشمک:
این اولین پست منه. :لبخند:
دوست عزیز کار با Ajax خیلی راحته.
یه نمونه کد برات میذارم.
اولین کد برای فایل axaj.js هست.



var xmlHttp;
function transData() {
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null) {
alert ('مرورگر شما Ajax را پشتیبانی نمی کند.');
return;
}
var v1 = document.getElementById('fn').value;
var v2 = document.getElementById('ln').value;
var url = 'getdata.php';
url = url + '?firstname=' + v1;
url = url + '&lastname=' + v2;
url = url + '&sid=' + Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
}
function stateChanged() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
document.getElementById('response').innerHTML = xmlHttp.responseText;
}
}
function GetXmlHttpObject() {
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
}
return xmlHttp;
}

کد بعدی مربوط به فایل PHP یا HTML هست که فرم رو توش قرار میدم.



<html>
<head>
<title></title>
<script language='javascript' src='ajax.js'></script>
</head>
<body dir='rtl'>
<table width='90%' border='0' align='center' cellpadding='3' cellspacing='0'>
<tr>
<td width='50%' align='left'>نام:</td>
<td width='50%'>
<input type='text' name='firstname' id='fn' />
</td>
</tr>
<tr>
<td width='50%' align='left'>نام خانوادگی:</td>
<td width='50%'>
<input type='text' name='lastname' id='ln' />
</td>
</tr>
<tr>
<td align='center' width='100%'>
<input type='button' onclick='transData()' />
</td>
</tr>
</table>
</body>
</html>

و در آخر فایل getdata.php که داده ها از طریق Ajax با متد Get به این فایل ارسال میشه.



<?php // PHP Is Love :D

// Database Login Data
define("DB_HOST", "localhost");
define("DB_USER", "username");
define("DB_PASS", "password");
define("DB_NAME", "database");

// Database Connection Function
function dbconnect($db_host, $db_user, $db_pass, $db_name) {
$db_connect = @mysql_connect($db_host, $db_user, $db_pass);
$db_select = @mysql_select_db($db_name);
if (!$db_connect || !$db_select) { die("<center>خطا</center>"); }
mysql_client_encoding($db_connect);
}

// Connecting To Database
$link = dbconnect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

$firstname = mysql_escape_string($_GET['firstname']);
$lastname = mysql_escape_string($_GET['lastname']);

$result = mysql_query("INSERT INTO users VALUES('0', '$firstname', '$lastname');");

if ($result == true) {
echo "اطلاعات با موفقیت ثبت شدند.";
} else {
echo "خطایی پیش آمده است.";
}

?>

فکر کنم با خوندن فایل ها متوجه شی که موضوع چیه. :متفکر:

bps20590
سه شنبه 04 فروردین 1388, 13:36 عصر
دوست عزيز ضمن تشكر از شما ولي نمي دونم چرا روي كد زير پيخام خطا مي دهد
[php]
document.getElementById('response').innerHTML = xmlHttp.responseText;
[php]
پيغام اينست
document.getElementById(...) is null or not an object
وهمين پيغام باعث عدم اجراي فايل php مورد نظر مي شود.
لطفا راهنمايي كنيد

guy18iran
چهارشنبه 05 فروردین 1388, 17:30 عصر
دوست عزيز ضمن تشكر از شما ولي نمي دونم چرا روي كد زير پيخام خطا مي دهد
[php]
document.getElementById('response').innerHTML = xmlHttp.responseText;
[php]
پيغام اينست
document.getElementById(...) is null or not an object
وهمين پيغام باعث عدم اجراي فايل php مورد نظر مي شود.
لطفا راهنمايي كنيد
دلیلش این بود که به خاطر سرعت زیاد یه قسمت رو یادم رفت بنویسم. :لبخند:
به عبارت دیگه المنت response رو توی فایل HTML نذاشتم. :لبخند:
شما قبل از </body> این کد رو قرار بدین.



<div align='center' id='response'></div>


مشکل این بود که نمی تونست این المنت رو پیدا کنه. به خاطر همین این خطا رو میداد.
اما اطلاعات رو داخل دیتابیس ریخته بود.
اگه به DB سر بزنین متوجه حرف من میشین. :چشمک: