kingblog

نمایش محتویات یک جدول از پایگاه داده؟

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

سلام. من یک فرم ساختم که اطلاعات رو در پایگاه داده ذخیره میکنه. حالا میخوام کل اطلاعات یک جدول رو نشون بدم. مثلا برای گزینه وبلاگ مثلا 10 نام ذخیره شده . وقتی متغیر اون رو که $blog هست رو قرار میدم فقط نام آخرین وبلاگ ثبت شده رو نشون میده. چجوری هر 10 وبلاگی که ثبت شده رو توی یک صفحه بصورت یکجا نشون بدم.

0

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


لینک به پست

کوئری به صورت زیر میشه:


select top 10 from table where x=y

3

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


لینک به پست

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

این کدیه که من دارم:


//بررسی معتبر بودن اطلاعات
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 ($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());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> این وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
}else
{
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 ($check == 1 && $blog != '' && $err != 1) {echo "<div class=\"sent\">وبلاگ شما <b>$blog</b> با موفقیت ثبت شد<br /><b>بعد از تایید، در قرعه کشی ماهیانه شرکت داده خواهید شد</b></div>"; }
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>";
}
}
//پایان ارتباط
mysql_close($con);

الان همه چیز درسته ولی چند مشکل دارم:

1-میخوام لیست وبلاگهایی که ثبت شده رو نشون بدم(البته بترتیب تاریخ ثبت که البته تاریخ ثبت رو هم اگه در کنار وبلاگ نشون بده عالیه)

2-میخوام بررسی کنه که عنوانی که در کادر وبلاگ نوشته میشه واقعا وجود داره. یعنی میشه کاری کرد که تشخیص بده این وبلاگی که نوشته شده و میخواد ثبت بشه اصلا توی سایت من عضو شده یا نه که اگه مال سایت من نبود، ثبت نشه

0

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


لینک به پست

درود.

برای نمایش وبلاگ های ثبت شده در دیتابیس از این کد برای واکشی استفاده نمایید :


$sql = mysqli_query("SELECT * FROM form ORDER BY id ASC");
while($row= mysql_fetch_assoc($sql)){
echo $row['name'];
}

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


$row['blog']
$row['time']
and ...

این کد بر اساس آیدی نمایش میده اطلاعات رو.

حال به نمایش مقدار ها بهتر هست یک جدول طراحی کنید و مقادیر رو در آن نمایش دهید(بسته نوع کار خود شما متغییر هست )

بهتر هست حداقل برای ثبت در دیتابیس خودتون مقادیر دریافتی را بررسی کنید تا مشکل sql injection نداشته باشید حداقل با


[CODE]
$data= mysqli_real_escape_string($data);

چک کنید بعد در دیتابیس ذخیره کنید .

سئوال دوم بستگی داره سستم وبلاگ شما چطوری باشه می تونید به دیتابیس وبلاگ متصل بشید آدرس وبلاگ را از کاربر بگیرید و در دیتابیس مربوطه جستجو کنید.

1

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


لینک به پست

ممنون

کد اولی که دادید درست کار میکنه ولی همه وبلاگ ها رو پشت سر هم نشون میده. چجوری هر کدوم رو توی یک خط و جدا نشون بده.

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


$data= mysqli_real_escape_string($data);

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


کد اتصال به دیتابایس اول
$con = mysql_connect("localhost","?????","????")
or die(mysql_error());
mysql_select_db("????")
or die(mysql_error());
کد اتصال به دیتابایس وردپرس
$con = mysql_connect("localhost","?????","????")
or die(mysql_error());
mysql_select_db("????")
or die(mysql_error());

بعد متغیر مربوط به وبلاگ $blog هست که در وردپرس نمیدونم نام وبلاگ ها چه متغیری داره. حالا چه شرطی بذارم تا بررسی کنه وبلاگی که نوشته شده آیا توی دیتابایس وردپرس هم هست یا نه؟

راستش زیاد وارد نیستم :mellow:

0

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


لینک به پست

در مورد نمایش وبلاگ ها گفته شد استایل دهید بسته به نیاز خودتون در نمایش داده ها.

ساده ترین روش این هست برای رفتن به خط بعد :


while($row= mysql_fetch_assoc($sql)){
echo "" . $row['name'] . "<br />";
}

به این صورت با تگ <br> در html به خط بعد برید بعد از هر بار خواندن از دیتابیس

در مورد بررسی داده ها این کد در عمل به این شکل میشه :


$data= mysqli_real_escape_string($con,$data);

که $con متغییر اتصال به دیتابیس شما می باشد شما کلا باید قبل از ذخیره اطلاعاتی که از کاربر میگیرید اون اطلاعات را بررسی کنید تا دچار مشکل نشوید و حداقل اگر این کار را انجام نمیدهید از کد گفته شده قبل از کار با دیتابیس چک کنید. به این صورت که ابتدا داده دریافتی را به کد فوق بررسی کرده و در آن بریزید سپس از متغییر استفاده نمایید

در مورد سوم ساده ترین روش و ابتدایی ترینش به نظر بنده این هست اگر اطلاعات از نظر نام کاربری و پسورد یکی هست در تمام دیتابیس های شما می توانید با همین کد خودتون با تغییر select دیتابیس به آن دیتابیس دسترسی پیدا کنید و واکشی را انجام دهید نیازی به اتصال جدید نیست!

مثلا:

دیتابس فرم شما به نام


formblog

می باشد و دیتابیس وبلاگ ها:


blogs

می باشد شما هنگامی که نیاز دارید تغییر دیتابیس دهید به این صورت تغییر دهید دیتابیس را :


mysql_select_db('blogs', $con);

بعد از اجرا شما تغییر دیتابیس داده اید و به این صورت می توانید حال table دلخواه را در دیتابیس blogs بررسی کنید

به عنوان مثال:


$sql=mysql_query("SELECT * FROM users );

و کار خود را با table مورد نظر در آن دیتابیس انجام دهید

3

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


لینک به پست

بازم ممنون

البته تازه کارم ببخشید که بازم میگم . این قسمت رو نفهمیدم باید چی کار کنم:


ابتدا داده دریافتی را به کد فوق بررسی کرده و در آن بریزید سپس از متغییر استفاده نمایید

اگه کدش رو برام بذارین ممنون میشم


mysql_select_db('پايگاه داده وردپرس', $con);
$sql=mysql_query("SELECT * FROM users );
if ????

با این کد اتصال تغییر میکنه و جدول کاربر مورد بررسی قرار میگیره.

حالا عبارت شرطی رو کجا و چی باشه تا جدول users رو با blog مقایسه کنه که اگه وجود نداشت خطا بده

اینم قسمت آخر کدم:


$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
}else
{
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 ($check == 1 && $blog != '' && $err != 1) {echo "<div class=\"sent\">وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
$sql = mysql_query("SELECT * FROM form ORDER BY date ASC");
while($row= mysql_fetch_assoc($sql)){
echo "" . $row['blog'] ,$row['date']. "<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>";
}
}

0

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


لینک به پست

ارسال شده در (ویرایش شده)

به این صورت استفاده کنید :

مثلا از فرم شما داده name ارسال میشه به این صورت :


$name = $_POST['name'];
$name = mysqli_real_escape_string($con,$name);

بعد از انجام این کار سپس به استفاده از این متغییر در دستورات mysql می پردازید به عبارت دیگه اول این کار را انجام می دهید سپس مثلا:


$sql= mysql_query("SELECT * FROM form WHERE name= ' $user ' ");

تا حداقل به نسبت اعتبار سنجی کرده باشید .

خوب در مورد تغییر دیتابیس بعد از تغییر دیتابیس شما مثلا می خوایید در جدول کاربر ها بررسی کنید فلان کاربری وجود دارد یا خیر به این صورت :


$sql= mysql_query("SELECT * FROM users WHERE username='$user ' " );
if(mysqli_num_row($sql))
{
echo "user already";
}
else
{
echo "Not found";
}

در کد بالا ما متغییری به نام $user داریم که ابتدا از فرم ارسالی دریافت کردیم حال در جدول users جستجو میکنیم با این نام اگر چیزی یافت شد پیغام این نام وجود دارد و اگر یافت نشد پیغام وجود ندارد را چاپ می کنیم

حال شما کد را به نام وبلاگ ها تغییر دهید یعنی (بسته به نوع وبلاگ ها ی شما )

مثلا اگر نام وبلاگ های شما به این صورت می باشد :


myweb.yoursite.com

شما در فرم myweb که نام وبلاگ کاربر است را میگیرید در یک متغییر قرار می دهید سپس به دیتابیس مربوطه رفته و چک می کنید.

ویرایش شده در توسط I..R
1

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


لینک به پست

خیلی ممنون درست شد.

تنها مشکلی که باقی مونده اینه که موقعی که یک وبلاگ وجود ندارد، پیغام not found رو میده ولی پیغام موفقیت ثبت رو هم میده و نیز ارور زیر رو:


mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

که تصویرش رو هم میذارم:

18BpXc.jpg

موقعی که وبلاگی وجود دارد هم پیغام وجود دارد رو نشون میده و همچنین پیغام موفقیت ثبت رو ولی همون خطا رو هم نشون میده.

من که خیلی کدها رو جابجا کردم ولی نتونستم درستش کنم.

یعنی باید وقتی وبلاگی وجود دارد باید پیغام موفقیت ثبت نشون داده بشه و لیست وبلاگهای ثبت شده رو هم نشون بده. و اگر وبلاگی وجود نداشت پیغام خطا بده

کد نهایی رو میذارم:


if ($code_exist > 0){
//ذخيره اطلاعات در ديتابيس
$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
}else
{
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('kingblog_????', $con);
$sql2= mysql_query("SELECT * FROM wpk_users WHERE user_login='$blog ' " );
if(mysql_num_rows($sql2))
{
echo "user already";
}
else
{
echo "Not found";
}
if ($check == 1 && $blog != '' && $err != 1) {echo "<div class=\"sent\">$name وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
$sql = mysql_query("SELECT * FROM form ORDER BY date ASC");
while($row= mysql_fetch_assoc($sql)){
echo("<table border=6px>");
echo("<tr>");
echo("<td>");
echo 1111;
echo("</td>");
echo("<td>");
echo 112222;
echo("</td>");
echo("<td>");
echo 3333;
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("\n\t</tr>");
echo("\n</table>\n");
}
}
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>";
}
}

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

0

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


لینک به پست

می تونید با دستور


die();

از ادامه اسکریپت جلوگیری کنید .

0

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


لینک به پست

کجا باید بذارمش؟

0

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


لینک به پست

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

وقتی چاپ می کنید ین وبلاگ وجود ندارد کد های زیر می خواید اجرا نشود این کد را بزارید :


if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> این وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
die();
}

1

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


لینک به پست

این کار رو کردم ولی همون ارور رو میده:


Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home3/kingblog/??.php on line 117
اينم خط 117:
while($row= mysql_fetch_assoc($sql)){

0

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


لینک به پست

الان این ارور مربوط به سئوال دیگری هست و مشکل قبلی مرتبط نیست .

اگر از php 5 استفاده می کنید یا سرور شما از php 5 استفاده می کند mysql در آن منقضی شده است بهتر از این دستور استفاده نمایید:


while($row= mysqli_fetch_assoc($sql)){

1

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


لینک به پست

این کد که گفتید باز این ارور رو میده:


Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in line 117

0

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


لینک به پست

این قسمت را جایگزین کنید :


$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
}else
{
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 ($check == 1 && $blog != '' && $err != 1) {echo "<div class=\"sent\">وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
$sql = mysqli_query($con,"SELECT * FROM form ORDER BY date ASC");
while($row= mysqli_fetch_assoc($sql)){
echo "" . $row['blog'] ,$row['date']. "<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>";
}
}

0

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


لینک به پست

دو خطا میده:


Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in 105

این خط 105:

$sql = mysqli_query($con,"SELECT * FROM form ORDER BY date ASC");

اینم خطای قبلی:


Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in 106

خط 106 هم اینه:

while($row= mysqli_fetch_assoc($sql)){

0

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


لینک به پست

ارسال شده در (ویرایش شده)

این خطا ها به این دلیل هست که شما از mysql و mysqli با هم دارید استفاده می کنید و این دو سازگار نیستند

اگر کلا mysql هستید که باید اون کد اول که برای mysql بوذ رو تست کنید و نتیجه بگیرید اگر می خواید کوچ کنید به mysqli باید تمام کد ها را تغییر بدید .(مثلا کد اتصال دیتابیس رو )

اما مشکل برای رفع :

این کد را تست کنید :


$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
}else
{
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 ($check == 1 && $blog != '' && $err != 1) {echo "<div class=\"sent\">وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
$sql = mysql_query("SELECT * FROM form ORDER BY date ASC");
if(!$sql) {
echo "Error in database ";
die();
}

while($row= mysql_fetch_assoc($sql)){
echo "" . $row['blog'] ,$row['date']. "<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>";
}
}

ویرایش شده در توسط I..R
0

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


لینک به پست

کدهام با mysqlهست:


<?php
//اطلاعات اتصال به ديتابيس
$con = mysql_connect("localhost","kingblog","0991HovcUt")
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);
}

.
.
.
$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());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
die();}else
{
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 ($check == 1 && $blog != '' && $err != 1) {echo "<div class=\"sent\">وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
$sql = mysqli_query($con,"SELECT * FROM form ORDER BY date ASC");
while($row= mysqli_fetch_assoc($sql)){
echo "" . $row['blog'] ,$row['date']. "<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>";
}
}

با همین کدها اگهدرست نمیشه و با mysqli درست میشه کجا ها رو باید تغییر بدم؟

0

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


لینک به پست

کدی که داده شد جایگزین نکردید که ؛هنگامی که جایگزین کردید همان ارور داده شد ؟

0

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


لینک به پست

کد آخری که گذاشتین مشکل حل شد فقط اشکالش اینه که وبلاگی که در دیتابایس وردپرس نیست رو هم ثبت می کنه و پیغام موفقیت ثبت رو نشون میده

0

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


لینک به پست

بنده کد شما رو ندارم تا بتونم کامل راهنمایی کنم

اما دقت کنید که بررسی ثبت بودن آن وبلاگ در دیتابیس وبلاگ ها و ثبت بودن در فرم مورد نظر شما باید فبل از ثبت در وبلاگ قرار بدید

و هنگامی که مثلا ذر در دیتابیس وبلاگ ها وجود نداشت شما باید از ادامه اسکریپت جلوگیری کنید که قبلا گفته شد ساده ترین روشش استفاده از کد


die();

هنگامی که مثلا چاپ می کنید این وبلاگ وجود ندارد در شرطی که چاپ می کنید این عبارت را به این صورت :


echo "این وبلاگ وجود ندارد";
die();

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

و دستورات بعدی اجرا نخواهد شد.

1

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


لینک به پست

ارسال شده در (ویرایش شده)

کد آخری که دادین مشکل حل شد فقط اشکالش اینه که هر نوع وبلاگی ثبت میشه یعنی وبلاگی که توی دیتابایس وردپرس نیست رو هم ثبت میکنه و پیغام موفقیت ثبت نشون داده میشه

الان کد die(); رو تست میکنم

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

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


لینک به پست

ارسال شده در (ویرایش شده)

الان درست کار میکنه ولی بازم یه مشکل کوچیک داره که هر چی کدها رو جابجا کردم درست نشد. اینکه اگه وبلاگی در دیتابایس وردپرس وجود نداشت بخوبی پیغام عدم وجود رو نشون میده ولی بازم اون رو تو جدول دیتابایس ثبت میکنه.:


$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
die();}else
{
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('kingblog_؟؟؟', $con);
$sql2= mysql_query("SELECT * FROM wpk_users WHERE user_login='$blog ' " );
if(mysql_num_rows($sql2))
{
echo "user already";
}
else
{
echo "Not found";
}
if(mysql_num_rows($sql2)) {echo "<div class=\"sent\">$name وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
mysql_select_db('kingblog_bartar', $con);
$sql= mysql_query("SELECT * FROM form ORDER BY date ASC" );
while($row= mysql_fetch_assoc($sql)){
echo $row['time'];echo "<br />";echo("</td>");
}
}
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>";
}
}

یعنی جای کد زیر باید عوض بشه که من هر کاری کردم باز کامل کار نمیکرد:


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());

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

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


لینک به پست

جایگزین کنید:


mysql_select_db('kingblog_؟؟؟', $con);
$sql2= mysql_query("SELECT * FROM wpk_users WHERE user_login='$blog ' " );
if(mysql_num_rows($sql2))
{
echo "user already";
die();
}
mysql_select_db('yourformdatabase',$con);
$Isthere = mysql_query("SELECT * FROM form WHERE blog = '$blog' AND userip > 0 LIMIT 1") or die(mysql_error());
if(mysql_num_rows($Isthere) !=$blog)
{
echo "<div class=\"error\"> اين وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>";
$err = 1;
die();}
else
{
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(mysql_num_rows($sql2)) {echo "<div class=\"sent\">$name وبلاگ شما <b>$blog</b> با موفقيت ثبت شد<br /><b>بعد از تاييد، در قرعه کشي ماهيانه شرکت داده خواهيد شد</b></div>";
$sql= mysql_query("SELECT * FROM form ORDER BY date ASC" );
while($row= mysql_fetch_assoc($sql)){
echo $row['time'];echo "<br />";echo("</td>");
}
}
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>";
}
}

2

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


لینک به پست

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

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

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

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


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

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

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


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