проверка

cmsfan

Registered
На кода който ще дам ми трябва проверка, ако има 7 линка в датабазата и при опит за добавяне на нов, да изкарва съобщение да опитат отново скоро (тоест докатo изтече някой линк)

Код:
    <?PHP
    include ('conf.php');
    function mobio_checkcode3($servID, $code, $debug=0) {

       $res_lines = file("http://www.mobio.bg/code/checkcode.php?servID=$servID&code=$code");

       $ret = 0;
       if($res_lines) {

          if(strstr("PAYBG=OK", $res_lines[0])) {
             $ret = 1;
          }else{
             if($debug)
                echo $line."\n";
          }
       }else{
          if($debug)
             echo "Unable to connect to mobio.bg server.\n";
          $ret = 0;
       }

       return $ret;
    }


    $code = $_REQUEST["codelink"];
    $ok = $_REQUEST["oklink"];

    if($ok) {
        $linklink = addslashes(htmlspecialchars(trim($_POST['linklink'])));
        $titlelink = addslashes(htmlspecialchars(trim($_POST['titlelink'])));
        $namelink = addslashes(htmlspecialchars(trim($_POST['namelink'])));
        if( $linklink == NULL || $titlelink == NULL || $namelink == NULL)
        {
            echo "<strong>Моля попълнете всички полета!</strong>";
        }
        else
        {
       if(mobio_checkcode3($servID, $code, 0) == 1) {
            $time = time();
            $query = mysql_query("INSERT INTO `adslinks` (linklink, titlelink, namelink, data) VALUES('$linklink', '$titlelink', '$namelink', '$time')") or die(mysql_error());
          echo "<strong>$success</strong>";
       }else{
          echo "<strong>$bad</strong>";
       }
        }
    }else{
    ?>
    <div align="center">
    За да рекламирате с линк в нашият сайт е нужно да изпратите SMS на номер 1093 с текст pslink (1,20 с ДДС). Активността на рекламата е една седмица.<br />

    <form method="post" name="smscode" action="">
    <table>

    <tr><td>Линк към сайта (http://сайт.ком):</td> <td><input type="text" size="20" name="linklink"/></td></tr>
    <tr><td>Тайтъл на линка:</td> <td><input type="text" size="20" name="titlelink"/></td></tr>
    <tr><td>Име на линка:</td> <td><input type="text" size="20" name="namelink"/></td></tr>
    <tr><td>SMS код (от обратния sms):</td> <td><input type="text" size="20" name="codelink"/></td></tr>
    <tr align="right"><td><input type="submit" class="submit" name="oklink"  value="Добави"/></td></tr>
    </table>
    </form>
    </div>
    <?PHP } ?>

Лошото е, че линковете не се изтриват, а остават в датабазата, но са изтекли заради времето, пример:
WHERE data+$expire>$date
Ще съм благодарен ако някой хвърли едно рамо.
Накратко: ако има 7 активни линка, подчертавам активни - да изписва, че местата за реклама са заети. Ако от тези 7 останат 6, тоест един е изтекъл - да може да се показва формата и съответно да може да се рекламира отново.

PP:
Ето как се изкарват линковете:
Код:
    <?php
    include ('conf.php');

    $date = time();
    $rand = mysql_query("SELECT * FROM `adslinks` WHERE data+$expire>$date ORDER BY RAND() LIMIT 0,1") or die(mysql_error());
    if(mysql_num_rows($rand) == 0)
    {
        echo "$zero3";
    }
    else
    {
        while($row = mysql_fetch_assoc($rand))
        {
            echo "<div class=\"friends\"><ul><li><a rel='nofollow' href='$row[linklink]' title='$row[titlelink]' target='_blank'>$row[namelink]</a></li></ul></div>";
        }
    }

    ?>

Ето и config файла:
Код:
    <?php
    //site
    $hostname = "localhost"; // Sql сървър
    $user = "user";//Потребителско име
    $pass = "pass";//Парола
    $database = "db";//База данни
    $conn = @mysql_connect("$hostname","$user","$pass");
    $chars="SET CHARACTER SET utf8"; mysql_query($chars);
    @mysql_select_db($database);

    //SMS LINK REKLAMA CONFIG
    $success = "<center>Вашият линк беше добавен успешно в сайта!</center>";
    $bad = "Невалиден код!";
    $servID = 11111; //links
    $expire = "604800"; //1 седмица
    $zero3 = "<center>Все още няма добавени линкове в сайта ни</center>";
    ?>


Обърнете внимание на това:
$expire = "604800"; //1 седмица
 

Back
Горе