Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Inny

Problem z sprawdzeniem

inny

  • Zamknięty Temat jest zamknięty
9 odpowiedzi w tym temacie

#1 Na 5tyk

    Godlike

  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 12.08.2013 16:16

Witam. Mam taki kod:

 

(...)
$sprawdz = mysql_query("SELECT uzyc FROM kody WHERE kod='" . $_POST['kod'] . "'");
(...)
if($status=="ok" || $ah[1] == $_POST['kod'] && $ah[2] == $_POST['ile'] && $sprawdz > 0)
(...)

Wyjaśnienie:

Jeżeli użytkownik wyśle SMSa i wpisz go w formularz i jeżeli status==ok to dodaje do bazy jego nick i dane.

Jeżeli status != "ok" to wtedy sprawdza dalej czy kod jest w bazie ($ah[1] == $_POST['kod']), czy zgadza się z ilością ($ah[2] == $_POST['ile']) oraz ostatnią rzecz sprawdza czy ma jeszcze użycia ($sprawdz > 0).

Lecz sprawdzenie czy ma jeszcze uzycia odbywa się tylko na pierwszym miejscu na liście:

82290713731817461100.jpg

 

Czyli sprawdzi tylko kod asd, a gdy asd nie ma już użyć to nie sprawdzi kodu asdf.

 

Teraz pytania::

1. Dlaczego nie sprawdza czy $_POST['kod'] ma użycia większe niż 0?

2. Jak sprawdzić czy $_POST['kod'] ma użycia większe niż 0?


  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 12.08.2013 16:35

http://www.php.net/m...l-fetch-row.php
http://pl.wikipedia....i/SQL_injection

$g_Value = $_POST['kod'];
$sprawdz = mysql_query("SELECT `uzyc` FROM `kody` WHERE `kod` = '$g_Value'");

$g_Row = mysql_fetch_row($sprawdz);
$g_Row[0] - ilość użyć.
  • +
  • -
  • 0

If you can dream it, you can do it.


#3 Na 5tyk

    Godlike

  • Autor tematu
  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 12.08.2013 16:39

Niestety dalej mam ten sam problem.

 

Cały kod (wiem, wiem wygląda jak *****...):

<?
session_start(); //start sesji
ob_start();
ini_set( 'display_errors', '1' );
error_reporting( E_ALL );
if (empty($_SESSION['user_id']) and empty($_SESSION['login']))
{
header('Location: login.php');
}
else {
require_once('config/config.php');
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>

<? include('inc/head.php'); ?>

</head>

<body>

<div id="calosc">
        
        <div id="logo">            
            
            <?php echo $logo ?>        
            <div id="loadingBar" style="float: right; cursor: pointer; text-align: center;"></div>                        
        </div>
        

        <div id="sidebar">                        
            
            <h1>Menu</h1>
            <div class="right-menu">
                <ul class="sidemenu">
                    <?php include('inc/menu.php'); ?>
                </ul>    
            </div>    
            <h1>Panel użytkownika</h1>
            <div class="right-menu">
                <ul class="sidemenu">
                    <?php include('inc/menu-user.php'); ?>
                </ul>    
            </div>    
            
            <?php
            $zapytanie = mysql_query("SELECT * FROM user WHERE login='".$_SESSION['login']."' ORDER BY ranga");
            $wynik = mysql_fetch_array($zapytanie);  
            
            if($wynik[4] > 0)
            {?>
                <h1>Panel admina</h1>
            <div class="right-menu">
                <ul class="sidemenu">
                    <?php include('inc/menu-admin.php'); ?>
                </ul>    
            </div>    <? }?>


        </div>        
                
        <div style="display: block;" id="main">            
            <h1>Cennik Reklam</h1>
            <table border="1">
            <tr>
            <td><b>Ilość reklam</b></td><td><b>Treść SMSa</b></td><td><b>Numer</b></td><td><b>Koszt</b></td>
            </tr>
            <tr>
            <td>45</td><td>ag pukawka</td><td>72480</td><td>2,46 (z VAT)</td>
            </tr>
            <tr>
            <td>100</td><td>ag pukawka</td><td>74480</td><td>4,92 (z VAT)</td>
            </tr>
            <tr>
            <td>210</td><td>ag pukawka</td><td>79480</td><td>7,38 (z VAT)</td>
            </tr></table>
            <h1>Zamawianie reklam</h1>

            <form method="POST">
            <table>
            <tr>
                <td>Tytuł reklamy</td> <td><input type="text" name="tytul"></td>
            </tr>
            <tr>
                <td>Treśc reklamy*</td> <td><input type="text" name="tresc"></td>
            </tr>
            <tr>
                <td>Kod zwrotny</td> <td><input type="text" name="kod"></td>
            </tr>
            <tr>
                <td>Ilość reklam</td> <td><select name="ile"><option value="45">45</option><option value="100">100</option><option value="210">210</option></select></td>
            </tr>
            <tr>
                <td>Numer GG</td> <td><input type="text" name="gg"></td>
            </tr>
            <tr>
                <td>Email</td> <td><input type="text" name="email"></td>
            </tr>
            <tr>
                <td></td> <td><input type="hidden" name="check" value="1"><input type="submit" value="Zamów"></td>
            </tr>
            </table></form><br>
            * - Treść reklamy wklej na <a href="wklej.to">wklej.to</a> i wpisz link w pole treść reklamy<br><Br><BR><BR>
        
        <?php

        if($_POST['check'] == 1)
        {
            $tresc = mysql_query("SELECT * FROM kody");
            $ah = mysql_fetch_array($tresc);
            
$g_Value = $_POST['kod'];
$sprawdz = mysql_query("SELECT `uzyc` FROM `kody` WHERE `kod` = '$g_Value'");

$g_Row = mysql_fetch_row($sprawdz);

            $keyapi = "UGtKdW1nPSOHq7U"; // klucz API

            $get = file_get_contents("https://admin.pukawka.pl/api/?keyapi=$keyapi&type=sms&code=" . $_POST['kod'] . "");
    
    if($get)
    {
        $get = json_decode($get);
    
        if(is_object($get))
        {
            if($get->error)
            {
                echo $get->error;
            }
            else
            {
                $status = $get->status;
                
                $tresc2 = mysql_query("SELECT * FROM kody WHERE kod='" . $_POST['kod'] . "'");
                $ah2 = mysql_fetch_array($tresc2);
        
                if($status=="ok" || $ah[1] == $_POST['kod'] && $ah[2] == $_POST['ile'] && $g_Row[0] > 0)
                {
                    $kwota = $get->kwota;
                    
                    echo 'Wysłałeś zamówienie o tytule <b>'. $_POST['tytul'] .'</b>. Wykonamy je tak szybko jak się da!';
                    mysql_query("INSERT INTO zlecenia SET tytul='" .$_POST['tytul'] ."', tresc= '" .$_POST['tresc'] ."', kod='" .$_POST['kod'] ."',ilosc='" .$_POST['ile'] ."',gg='" .$_POST['gg'] ."',email='" .$_POST['email'] ."', zlecal='" . $_SESSION['login'] . "'");
                    mysql_query("UPDATE kody SET uzyc = uzyc - 1 WHERE kod='" . $_POST['kod'] ."'");
                 }
                else
                {
                    echo "Kod jest błędny lub został już wykorzysatny.";
                }
            }
        }
        else
        {
            echo "Nieznany błąd API.";
        }
    }
    else
    {
        echo "Błąd połączenia z API.";
    }
        }
        
        ?>
        </div>            
        

</div>


<div class="stopka">
    
        <p style="position: relative; margin: 0; padding: 0; height: 50px; background-color: black">
        <font color="white"><bR>© 2013 | Styl oraz CMS: <b>Na 5tyk</b></font>


</p></div>    
<div style="position: absolute; top: 0px; left: 0px; opacity: 0.7; background-color: rgb(0, 0, 0); z-index: 65555; height: 700px; width: 1152px; display: none;" id="BoxOverlay"></div><div style="display: none; position: absolute; top: 0px; left: 0px; z-index: 65557; width: 500px;" id="alert-Box"><div id="alert-InBox"><div id="alert-BoxContent"><div id="alert-BoxContenedor"></div></div></div></div>
</body></html>
<? }
 ob_end_flush(); ?>

  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 12.08.2013 16:46

Wyechuj sobie: $ah[1], $_POST['kod'], $ah[2], $_POST['ile'], $g_Row[0]
  • +
  • -
  • 0

If you can dream it, you can do it.


#5 Na 5tyk

    Godlike

  • Autor tematu
  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 12.08.2013 16:52

echo $_POST['kod'] = STREFA45asdf (powinno być STREFA45)
echo $ah[2] = 45
echo $_POST['ile'] = 45
echo $g_Row[0] = 1

 

czyli tylko zły kod jest.


  • +
  • -
  • 0

#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 12.08.2013 17:00

$tresc2 = mysql_query("SELECT * FROM kody WHERE kod='" . $_POST['kod'] . "'");
$ah2 = mysql_fetch_array($tresc2);
        
if($status=="ok" || $ah[1] == $_POST['kod'] && $ah[2] == $_POST['ile'] && $g_Row[0] > 0)
Na pewno miało być $ah[1] == $_POST['kod']?
  • +
  • -
  • 0

If you can dream it, you can do it.


#7 Na 5tyk

    Godlike

  • Autor tematu
  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 12.08.2013 18:33

Tak.


speedkill (12.08.2013 19:19):
Co Ci się pokazało? echo $ah[1];

  • +
  • -
  • 0

#8 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 12.08.2013 20:16

Swoją drogą, sprawdź takie coś:

$tresc2 = mysql_query("SELECT * FROM `kody` WHERE kod='" . $_POST['kod'] . "'");
$g_Total = mysql_num_rows($tresc2);
        
if(($status=="ok" || $g_Total) && $ah[2] == $_POST['ile'] && $g_Row[0] > 0)

  • +
  • -
  • 0

If you can dream it, you can do it.


#9 Na 5tyk

    Godlike

  • Autor tematu
  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 13.08.2013 11:28

Swoją drogą, sprawdź takie coś:
 

$tresc2 = mysql_query("SELECT * FROM `kody` WHERE kod='" . $_POST['kod'] . "'");
$g_Total = mysql_num_rows($tresc2);
        
if(($status=="ok" || $g_Total) && $ah[2] == $_POST['ile'] && $g_Row[0] > 0)

Nie może być to bo do API Pukawki chciałem dodać kody z mojej bazy.

Ten kod nie działa, bo wyrzuca błąd z API wrong_sms_code


  • +
  • -
  • 0

#10 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 07.11.2013 16:10

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Autor tematu zbanowany

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: inny

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych