PDA

View Full Version : ثبت کلمات جستجو شده



tehro0n
چهارشنبه 24 شهریور 1389, 21:21 عصر
من می خوام وقتی کاربری وارد سایت می شود اگر از سایت هایی مثل گوگل، یاهو و .. وارد شده لینک ورودی همراه با کلمه جستجو شده دریافت و ذخیره شود.

به دلیل اینکه این ابزار مانند سایت های آمار گیر در اسکریپتی بررسی می شود referer را از طریق جاوا به دست میارم.


var src = 'http://localhost/Tools/test.php?res='+screen.width+'x'+screen.height+'&col='+screen.colorDepth+'&ref='+document.referrer;
document.write("<script type='text/javascript' src='" + src + "'></script>");سپس آن را به فایل php ارسال می کنم. و از این طریق ref رو داخل متغیر ریخته و در نهایت آن را بررسی می کنم.


if (isset($_GET['ref']))
$ref = strtolower($_GET['ref']);
}و در نهایت نام جستجو گر، لینک جستجوگر و کلمه جستجو شده را ذخیره می کنم.
اما یک مشکل وجود داره.. با گوگل امتحان کردم و چند کلمه را جستجو کردم تا از داخل صفحه 12 وارد سایت مربوطه شدم منتها تنها چنین لینکی ذخیره شد و سایر کاراکترها ثبت نشد. همچنین کلمه جستجو شده و لینک ورودی خراب بود!


http://www.google.com/search?sa=tدر صورتی که می بایست لینک و کلمات جستجوی دیگری باشه.!

امیـرحسین
چهارشنبه 24 شهریور 1389, 23:00 عصر
همیشه برای انتقال URL باید عملیات Encode و Decode انجام بشه!
var src = 'http://localhost/Tools/test.php?';
src += 'res='+screen.width+'x'+screen.height+'&col='+screen.colorDepth;
src += '&ref='+ encodeURIComponent(document.referrer);
document.write("<script type='text/javascript' src='" + src + "'></script>");
و در PHP،
if(isset($_GET['ref']))
$ref = strtolower( urldecode($_GET['ref']) );