PHP RESTful API не получает переменные и вылетает

0

У меня есть простой успокоительный api с php

<?php
    require "../ConfigBaza.php";

    $proizvodid = $_GET['proizvodid'];
    $naziv = $_GET['naziv'];
    $pdv = $_GET['pdv'];
    $aa = $_GET['akcijski_artikal'];
    $a = $_GET['aktivan'];
    $slika = $_GET['slika'];
    $jm = $_GET['jm'];
    $opis = $_GET['opis'];
    $katbr = $_GET['katbr'];

    $sql = "INSERT INTO Proizvod (PROIZVODID, NAZIV, PDV, AKCIJSKI_ARTIKAL, AKTIVAN, SLIKA, JM, OPIS, KATBR) VALUES ('$proizvodid', '$naziv', '$pdv', '$aa', '$a', '$slika', '$jm', '$opis', '$katbr')";

    if($mysqli->query($sql))
    {
        echo("1");
    }
    else
    {
        echo("0" . "<br>");
        echo("PROIZVODID = " . $proizvodid . "<br>");
        echo("NAZIV = " . $naziv . "<br>");
        echo("PDV = " . $pdv . "<br>");
        echo("Akcijski Artikal = " . $aa . "<br>");
        echo("Aktivan = " . $a . "<br>");
        echo("SLIKA = " . $slika . "<br>");
        echo("JM = " . $jm . "<br>");
        echo("OPIS = " . $opis . "<br>");
        echo("KATBR = " . $katbr . "<br>");
    }
?>

И когда я ввожу url вот так:

/Php/Proizvodi/Novi.php?proizvodid=3410&naziv=REVIZIJA%20200*200%20GIPS&pdv=20&akcijski_artikal=1&aktivan=1&slika=&katbr=74-1800%20P%20#2.012N3IZ&jm=kom&opis=Revizioni%20otvor

Он не выполняет sql, и по какой-то причине jm возвращает blank, а opis возвращает пустое, даже если это не нужно.

  • 5
    Возможный дубликат Почему хеш-часть URL недоступна на стороне сервера?
  • 0
    Не существует параметра URL с именем opis или jm . Все, что находится после хеш-метки, является целью привязки, а не параметром URL. Таким образом, 2.012N3IZ&jm=kom&opis=Revizioni%20otvor не будет анализироваться как параметры.
Теги:

1 ответ

0

Я думаю, вы могли бы что-то искать по этим строкам https://www.designcise.com/web/tutorial/how-to-get-key-value-pair-from-url-query-string-in-php

В этом примере они используют parse_str ($ _ SERVER ['QUERY_STRING'], $ output); для получения необработанных значений без кодировки url.

Я считаю, что это связано с тем, что # в строке url.

Сервер не может получить доступ к переменным за пределами #, они доступны только из передней части.

Надеюсь это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню