مهمان عزیز خوش آمدید. ورود ثبت نام



صفحه‌ها (3):
امتیاز موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
جلوگیری از ثبت اطلاعات تکراری در دیتابیس

جلوگیری از ثبت اطلاعات تکراری در دیتابیس
(۱۴ تير ۱۳۹۴، ۰۵:۱۷ ب.ظ)navids_mh نوشته:  واس ما اینجوریاس
.
.کدهای insert.php​
.
کد:
<?php

session_start();

    $userCaptcha = strtoupper($_POST['captcha']);
    if($_SESSION['captcha'] == $userCaptcha)
    
    {include('config.php');
    if(isset($_POST['yahoo_id']))
    {$yahoo =mysql_real_escape_string($_POST['yahoo_id']) ;
    
    $result = mysql_query('INSERT `tbl_id` (`yahoo_id`) VALUES ("'.$yahoo.'")') OR die(mysql_error());
    if($result)
    
    {header('Location:index.php?submit=1');}
    
    else{ header('Location:index.php?submit=0');} }
    
    else{ header("Location:index.php?error=1"); } }
    
    else{ header("Location:index.php?captcha=0"); }

?>
.
Unique کردم...
وقتی یه آیدی تکراری وارد میشه پیام زیر میاد
Duplicate entry 'elahenaz636' for key 'yahoo_id'
.
.
توی کدهای زیر پیام ها رو نمایش میده
.
کدهای home.php (نمایش پیام)
.
کد:
        <?php
        
            if(isset($_GET['submit']) and $_GET['submit']==1)
            {echo "<center style=\"color:Green\">آیدی یاهو شما ثبت شد</center>";}
            
            elseif(isset($_GET['submit']) and $_GET['submit']==0)
            {echo "<center style=\"color:red\">متاسفانه آیدی یاهو شما ثبت نشد , دوباره امتحان کنید</center>";}
            
            elseif(isset($_GET['captcha']) and $_GET['captcha']==0)
            {echo "<center style=\"color:red\"> کد امنیتی وارد شده اشتباه می باشد  </center>";}
            
        ?>

لینک مرتبط: http://ymsg.p4media.ir


 
کد داخل ایندکس رو به این تغییر بدید
کد پی‌اچ‌پی:
<?php

session_start
();

$userCaptcha strtoupper($_POST['captcha']);
if(
$_SESSION['captcha'] == $userCaptcha){
include(
'config.php');
if(isset(
$_POST['yahoo_id']))
{
$yahoo =mysql_real_escape_string($_POST['yahoo_id']) ;
$check mysql_query("SELECT FROM tbl_id (yahoo) WHERE yahoo_id=$yahoo");

if(
mysql_num_rows($check)<1)
{
$result mysql_query('INSERT `tbl_id` (`yahoo_id`) VALUES ("'.$yahoo.'")') OR die(mysql_error());
if(
$result){
header('Location:index.php?submit=1');
}else{
header('Location:index.php?submit=0');
}
}else{
header('Location:index.php?submit=exist');
}
}else{
header("Location:index.php?error=1");
}

}else{
header("Location:index.php?captcha=0");
}

?>
و کد قسمت پیام ها به این شکل قرار بدید
کد پی‌اچ‌پی:
<?php

if(isset($_GET['submit']) and $_GET['submit']==1)
{echo 
"<center style=\"color:Green\">آیدی یاهو شما ثبت شد</center>";}

elseif(isset(
$_GET['submit']) and $_GET['submit']==0)
{echo 
"<center style=\"color:red\">متاسفانه آیدی یاهو شما ثبت نشد , دوباره امتحان کنید</center>";}

elseif(isset(
$_GET['captcha']) and $_GET['captcha']==0)
{echo 
"<center style=\"color:red\"> کد امنیتی وارد شده اشتباه می باشد </center>";}

elseif(isset(
$_GET['submit']) and $_GET['submit']==exist)
{echo 
"<center style=\"color:red\">ین ایدی موجود می باشد </center>";}

؟
پاسخ
نشد خطای زیر رو میده
نقل قول:Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/***/public_html/***/ymsg/insert.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at /home/navidsmh/public_html/subdomain/ymsg/insert.php:14) in/home/***/public_html/***/ymsg/insert.php on line 20


تصویر: http://p4media.ir/banners/p4m.gif
پاسخ
خط چهارده داخل  ایف رو به این تغییر بدید ببینید درست میشه
mysql_num_rows($check) == 0
پاسخ
ممنون ولی نشد باز


تصویر: http://p4media.ir/banners/p4m.gif
پاسخ
به جای این 
کد پی‌اچ‌پی:
$check mysql_query("SELECT FROM tbl_id (yahoo) WHERE yahoo_id=$yahoo"); 
از این استفاده کنید
کد پی‌اچ‌پی:
$check mysql_query("SELECT yahoo FROM tbl_id WHERE yahoo_id='$yahoo'"); 
پاسخ
نشد می خوایی اسکریپت و بدم تو localhost تست کنی


تصویر: http://p4media.ir/banners/p4m.gif
پاسخ
اره اگر بدی بهتر می تونم ردیف کنم برات
پاسخ
دقیقا همین اسکریپت هست برای من
اسکریپت اشتراک گذاری ایدی یاهو نسخه ۲


تصویر: http://p4media.ir/banners/p4m.gif
پاسخ
خب حل شد فایل اینسرت
کد پی‌اچ‌پی:
<?php
session_start
();

$userCaptcha strtoupper($_POST['captcha']);



include(
'config.php');
if(isset(
$_POST['yahoo_id']))
{
$newchat test_input($_POST['yahoo_id']);


$yahoo =mysql_real_escape_string($newchat) ;

if (!
preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$yahoo))
{
header("Location:index.php?EmailError=1");
}
$check mysql_query('SELECT * FROM `tbl_id` WHERE `yahoo_id` = ("'.$yahoo.'")');

if(
mysql_num_rows($check) >=1)
{
header('Location:index.php?submit=3');

}else{
$result mysql_query('INSERT `tbl_id` (`yahoo_id`) VALUES ("'.$yahoo.'")') OR die(mysql_error());
if(
$result){
header('Location:index.php?submit=1');
}
else{
header('Location:index.php?submit=0');

}
}
}else{

header("Location:index.php?error=1");
}

function 
test_input($data)
{
$data trim($data);
$data stripslashes($data);
$data htmlspecialchars($data);
return 
$data;
}

?>
اینم برای پیام ها
کد پی‌اچ‌پی:
if(isset($_GET['submit']) and $_GET['submit']==1){

echo 
"<center style=\"color:Green\">ایمیل شما ثبت شد</center>";
}elseif(isset(
$_GET['submit']) and $_GET['submit']==0){

echo 
"<center style=\"color:red\">متاسفانه ایمیل شما ثبت نشد , دوباره امتحان کنید</center>";

}elseif(isset(
$_GET['captcha']) and $_GET['captcha']==0){

echo 
"<center style=\"color:red\"> کد امنیتی وارد شده اشتباه می باشد </center>";

}elseif(isset(
$_GET['submit']) and $_GET['submit']==3)
{
echo 
"<center style=\"color:red\">این ایدی موجود است</center>";

پاسخ
با تشکر درست شد
+1 اعتبار داده شد


تصویر: http://p4media.ir/banners/p4m.gif
پاسخ
صفحه‌ها (3):


پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir