kingblog

راهنمایی در ثبت اطلاعات در پایگاه داده

2 پست در این موضوع قرار دارد

سلام

من یک صفحه دارم که شامل آی پی شما،نام،آدرس وبلاگ،ایمیل می باشد.کسی میتونه وبلاگش رو توی این فرم ثبت کنه که اون وبلاگ واقعا در سایت من ایجاد شده باشه که هم آی پی و هم نام و هم وبلاگ رو در پایگاه داده ثبت میکنه ولی اگه اون وبلاگ زیر مجموعه سایت اصلی نباشه ثبت نمیشه.

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

حتی اگه فقط وارد اون صفحه بشیم (بدون زدن گزینه ثبت) یک فیلد در پایگاه داده ثبت میشه(برای هر آی پی یک فیلد ثبت میشه)

این فایل بررسی فیلدها و ثبت اطلاعات در پایگاه داده:


<body>
<?php
//اطلاعات اتصال به دیتابیس
$con = mysql_connect("localhost","????","????")
or die(mysql_error());
//نام پایگاه داده
mysql_select_db("kingblog_bartar")
or die(mysql_error());
//تابعی برای ایمن سازی مقادیر
function clean($str) {
$str = trim($str);
if (get_magic_quotes_gpc()){
$str = stripslashes($str);
}
$str = htmlspecialchars($str);
return mysql_real_escape_string($str);
}
//دریافت و ایمن سازی متغیرها
$check = $_POST['check'];
$name = clean($_POST['name']);
$mail = trim($_POST['mail']);
$blog = clean($_POST['blog']);
$code = clean($_POST['code']);
//تنظیم تاریخ ، زمان و اختلاف زمانی سرور
$time_zone = 12600;
$date = date("Y-m-d", time()+$time_zone);
$time = date("H:i:s", time()+$time_zone);
//دریافت آی پی کاربر
$ip = $_SERVER['REMOTE_ADDR'];
//دریافت مشخصات مرورگر و سیستم
if (isset($_SERVER['HTTP_USER_AGENT'])){
$agent = $_SERVER['HTTP_USER_AGENT'];
}
else{
$agent = 'unknown';
}
//مقادیر پیش فرض برای خطا
$error = 0;
$err = 0;
//بررسی معتبر بودن اطلاعات
if ($check == 1 && $name == ''){
echo "<div class=\"error\">لطفا نام خود را وارد کنید![<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$error = 1;
}
elseif ($check == 1 && $blog == ''){
echo "<div class=\"error\">لطفا نام وبلاگ خود را وارد نمایید.[<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$error = 1;
}
elseif ($check == 1 && $mail == ''){
echo "<div class=\"error\">لطفا ایمیل معتبری وارد نمایید.[<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$error = 1;
}
elseif ($check == 1 && $code == ''){
echo "<div class=\"error\">لطفا کد امنیتی را وارد کنید![<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$error = 1;
}
if (! preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $mail))
{
die("<div class=\"error\">آدرس پست الکترونیک شما معتبر نمی باشد لطفا آن را بررسی نموده و دوباره امتحان کنید[<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>");
}
if (preg_match("/^[A-Za-z0-9]([A-Za-zs0-9]*[A-Za-z0-9])*$/", $name))
{
die("<div class=\"error\">لطفا در نوشتن نام خود از حروف فارسی استفاده نمایید[<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>");
}
//بررسی و ذخیره اطلاعات در دیتابیس
if ($check == 1 && $error != 1){
//بررسی کد امنیتی
$result = mysql_query("SELECT * FROM form WHERE userip = '$ip' AND code = '$code' AND status = 'temp' LIMIT 1")
or die(mysql_error());
$code_exist = mysql_num_rows($result);
if ($code_exist > 0){
//ذخیره اطلاعات در دیتابیس
$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
$rows = mysql_num_rows($Isthere );
if($rows>$blog)
{
echo "<div class=\"error\"> این وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
die();}else
if($err == 1){
mysql_query("INSERT INTO form (name,mail,blog,code,date,time,userip,useragent,status) VALUES ('$name','$mail','$blog','$code','$date','$time','$ip','$agent','sent')")
or die(mysql_error());

}
mysql_select_db('؟؟؟', $con);
$sql2= mysql_query("SELECT * FROM wpk_users WHERE user_login='$blog ' " );
if(mysql_num_rows($sql2))
{while($row= mysql_fetch_assoc($sql2)){
echo "<div class=\"sent\">";
echo $row['user_url'];
echo "<br>";
echo "تبریک. وبلاگ شما ثبت شد</div>";
}}
else
{
echo "<div class=\"error\">";
echo "ممکن است حساب خود را فعال نکرده باشید. لطفا از نام کاربریتان استفاده کنید</div>";
}
if(mysql_num_rows($sql2)) {echo "<div class=\"sent\">$name وبلاگ شما <b>$blog</b> با موفقیت ثبت شد<br /><b>بعد از تایید، در قرعه کشی ماهیانه شرکت داده خواهید شد</b></div>";
echo "<br>";
echo "<div class=\"error\"><b>توجه داشته باشید که اگر بعنوان کاربر ثبت نام کرده اید و هنوز سایتی ایجاد نکرده اید، در قرعه کشی قرار داده نخواهید شد.</b></div>";
mysql_select_db('؟؟؟', $con);
$sql= mysql_query("SELECT * FROM form ORDER BY date ASC" );
mysql_query("INSERT INTO form (name,mail,blog,code,date,time,userip,useragent,status) VALUES ('$name','$mail','$blog','$code','$date','$time','$ip','$agent','sent')")
or die(mysql_error());
if($blog!="")
while($row= mysql_fetch_assoc($sql)){
echo("<table border=6px>");
echo("<tr>");
echo("<td>");
echo "وبلاگ(کاربر)";
echo("</td>");
echo("<td>");
echo "تاریخ ثبت";
echo("</td>");
echo("<td>");
echo "زمان ثبت";
echo("</td>");
echo("<td>");
echo "ثبت شده توسط";
echo("</td>");
echo("</tr>");
echo("</table>");
echo("<table border=5px>");
echo("<tr>");
echo("<td>");
echo $row['blog'];
echo("</td>");
echo("<td>");
echo $row['date'];
echo("</td>");
echo("<td>");
echo $row['time'];echo "<br />";echo("</td>");
echo("<td>");
echo $row['name'];
echo("</td>");
echo("\n\t</tr>");
echo("\n</table>\n");
echo "<br>";
}
}
else{
if($err != 1)
echo "<div class=\"error\">وبلاگ نامعتبر است [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
}
}
else{
echo "<div class=\"error\">کد امنیتی اشتباه است! [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";die();
}
}
//پایان ارتباط
mysql_close($con);
?>
</body>

ویرایش شده در توسط kingblog

به اشتراک گذاری این پست


لینک به پست

شما کدهاتونو مستقیم درون صفحه قرار دادید

در صورتی که باید چک کنین که ایا postback از طرف این صفحه صورت گرفته یا نه مثلا اگه name دکمه submit شما save باشه با کد زیر چک میکنین

if(isset($_POST['name']))
{
//your code
}

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری