kingblog 14 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 سلام. من یک فرم ساختم که اطلاعات رو در پایگاه داده ذخیره میکنه. حالا میخوام کل اطلاعات یک جدول رو نشون بدم. مثلا برای گزینه وبلاگ مثلا 10 نام ذخیره شده . وقتی متغیر اون رو که $blog هست رو قرار میدم فقط نام آخرین وبلاگ ثبت شده رو نشون میده. چجوری هر 10 وبلاگی که ثبت شده رو توی یک صفحه بصورت یکجا نشون بدم. نقل قول لینک به ارسال
SM-Mahdavi 5427 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 کوئری به صورت زیر میشه:select top 10 from table where x=y 3 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 ممنون ولی من زیاد با برنامه نویسی آشنا نیستم و نتونستم مشکلم رو حل کنم.این کدیه که من دارم://بررسی معتبر بودن اطلاعات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-میخوام بررسی کنه که عنوانی که در کادر وبلاگ نوشته میشه واقعا وجود داره. یعنی میشه کاری کرد که تشخیص بده این وبلاگی که نوشته شده و میخواد ثبت بشه اصلا توی سایت من عضو شده یا نه که اگه مال سایت من نبود، ثبت نشه نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 درود.برای نمایش وبلاگ های ثبت شده در دیتابیس از این کد برای واکشی استفاده نمایید :$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 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 ممنونکد اولی که دادید درست کار میکنه ولی همه وبلاگ ها رو پشت سر هم نشون میده. چجوری هر کدوم رو توی یک خط و جدا نشون بده.بعد این کد که گفتید رو بهمون شکلی که هست قرار بدم درسته؟$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 هست که در وردپرس نمیدونم نام وبلاگ ها چه متغیری داره. حالا چه شرطی بذارم تا بررسی کنه وبلاگی که نوشته شده آیا توی دیتابایس وردپرس هم هست یا نه؟راستش زیاد وارد نیستم نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 در مورد نمایش وبلاگ ها گفته شد استایل دهید بسته به نیاز خودتون در نمایش داده ها.ساده ترین روش این هست برای رفتن به خط بعد :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 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 بازم ممنونالبته تازه کارم ببخشید که بازم میگم . این قسمت رو نفهمیدم باید چی کار کنم:ابتدا داده دریافتی را به کد فوق بررسی کرده و در آن بریزید سپس از متغییر استفاده نماییداگه کدش رو برام بذارین ممنون میشم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>"; }} نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 (ویرایش شده) به این صورت استفاده کنید :مثلا از فرم شما داده 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 که نام وبلاگ کاربر است را میگیرید در یک متغییر قرار می دهید سپس به دیتابیس مربوطه رفته و چک می کنید. ویرایش شده بهمن 92 توسط I..R 1 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 خیلی ممنون درست شد.تنها مشکلی که باقی مونده اینه که موقعی که یک وبلاگ وجود ندارد، پیغام not found رو میده ولی پیغام موفقیت ثبت رو هم میده و نیز ارور زیر رو:mysql_fetch_assoc() expects parameter 1 to be resource, boolean given inکه تصویرش رو هم میذارم:موقعی که وبلاگی وجود دارد هم پیغام وجود دارد رو نشون میده و همچنین پیغام موفقیت ثبت رو ولی همون خطا رو هم نشون میده.من که خیلی کدها رو جابجا کردم ولی نتونستم درستش کنم.یعنی باید وقتی وبلاگی وجود دارد باید پیغام موفقیت ثبت نشون داده بشه و لیست وبلاگهای ثبت شده رو هم نشون بده. و اگر وبلاگی وجود نداشت پیغام خطا بدهکد نهایی رو میذارم: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>"; }}فقط باید یکم کدها رو جابجا کرد ولی من که نتونستم درستش کنم نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 می تونید با دستور die();از ادامه اسکریپت جلوگیری کنید . نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 کجا باید بذارمش؟ نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 وقتی می خواید ادامه اسکریپت متوفق بشه مثلاوقتی چاپ می کنید ین وبلاگ وجود ندارد کد های زیر می خواید اجرا نشود این کد را بزارید : if(mysql_num_rows($Isthere) !=$blog) { echo "<div class=\"error\"> این وبلاگ قبلا ثبت شده است. [<a href=\"javascript: history.go(-1)\">بازگشت</a>]</div>"; $err = 1;die(); } 1 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 این کار رو کردم ولی همون ارور رو میده: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)){ نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 الان این ارور مربوط به سئوال دیگری هست و مشکل قبلی مرتبط نیست .اگر از php 5 استفاده می کنید یا سرور شما از php 5 استفاده می کند mysql در آن منقضی شده است بهتر از این دستور استفاده نمایید:while($row= mysqli_fetch_assoc($sql)){ 1 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 این کد که گفتید باز این ارور رو میده:Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in line 117 نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 این قسمت را جایگزین کنید :$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>"; }} نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 دو خطا میده: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)){ نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 (ویرایش شده) این خطا ها به این دلیل هست که شما از 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>"; }} ویرایش شده بهمن 92 توسط I..R نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 کدهام با 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 درست میشه کجا ها رو باید تغییر بدم؟ نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 کدی که داده شد جایگزین نکردید که ؛هنگامی که جایگزین کردید همان ارور داده شد ؟ نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 کد آخری که گذاشتین مشکل حل شد فقط اشکالش اینه که وبلاگی که در دیتابایس وردپرس نیست رو هم ثبت می کنه و پیغام موفقیت ثبت رو نشون میده نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 بنده کد شما رو ندارم تا بتونم کامل راهنمایی کنماما دقت کنید که بررسی ثبت بودن آن وبلاگ در دیتابیس وبلاگ ها و ثبت بودن در فرم مورد نظر شما باید فبل از ثبت در وبلاگ قرار بدیدو هنگامی که مثلا ذر در دیتابیس وبلاگ ها وجود نداشت شما باید از ادامه اسکریپت جلوگیری کنید که قبلا گفته شد ساده ترین روشش استفاده از کد die();هنگامی که مثلا چاپ می کنید این وبلاگ وجود ندارد در شرطی که چاپ می کنید این عبارت را به این صورت :echo "این وبلاگ وجود ندارد";die();از ادامه بقیه اسکریپت جلوگیری می کند.و دستورات بعدی اجرا نخواهد شد. 1 نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 (ویرایش شده) کد آخری که دادین مشکل حل شد فقط اشکالش اینه که هر نوع وبلاگی ثبت میشه یعنی وبلاگی که توی دیتابایس وردپرس نیست رو هم ثبت میکنه و پیغام موفقیت ثبت نشون داده میشهالان کد die(); رو تست میکنم ویرایش شده بهمن 92 توسط kingblog نقل قول لینک به ارسال
kingblog 14 ارسال شده در بهمن 92 مالک گزارش بازنشر ارسال شده در بهمن 92 (ویرایش شده) الان درست کار میکنه ولی بازم یه مشکل کوچیک داره که هر چی کدها رو جابجا کردم درست نشد. اینکه اگه وبلاگی در دیتابایس وردپرس وجود نداشت بخوبی پیغام عدم وجود رو نشون میده ولی بازم اون رو تو جدول دیتابایس ثبت میکنه.:$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()); ویرایش شده بهمن 92 توسط kingblog نقل قول لینک به ارسال
I..R 1485 ارسال شده در بهمن 92 گزارش بازنشر ارسال شده در بهمن 92 جایگزین کنید: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 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .