Wysyłanie danych z formularza w pluginie

PHP/MYSQL  Założony przez  Kacper Wojciechowski.

Witam, nie wiedziałem gdzie napisać ten post, jak wybrałem zły dział, proszę o moderację.

Formularz który napisałem, nie dodaje danych do bazy.
Formularz:

            elseif ($page == 'rekrujzloz') {
                
$menubok "$menubokrekru";

                
$pgcontent "<script>$(\"#rekruj\").addClass(\"active\");</script><script>$(\"#panelrekru\").addClass(\"activeSORTBY\");</script>";

            if(
$mybb->settings['psrpg_rjadmins'] == 1)
            {

                if(
$mybb->user['psrpg_user'] != -1) {
$pgcontent .= "

<form action=\"index.php?page=rekrujzloz\" method=\"post\">
<table class=\"tborder\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
<tbody><tr>
<td class=\"thead\" colspan=\"2\">Napisz nowe podanie</td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Imię</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"imie\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Wiek</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"wiek\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Coś o sobie</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"cososobie\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Poprzednie nicki</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"nicki\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Jak długo grasz na PSR?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"ilegrasz\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Dlaczego chciałbyś zostać Junior Administratorem na naszym serwerze?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"czemuchceszbyc\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Czy twoje relacje z graczami są dobre?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"relacje\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Czy byłeś kiedyś banowany na naszym serwerze? Jeżeli tak to za co?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"banowany\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Czy posiadasz jakieś zasługi dla serwera?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"zaslugi\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Czy posiadasz sprawny mikrofon oraz program Team Speak?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"ts3\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Czy zdarzyło ci się przeskadzać w eventach organizowanych przez administratorów?</td>
<td class=\"trow2\"><input required class=\"textbox\" name=\"czyprzeszkadzales\" size=\"40\" maxlength=\"85\" value=\"\" tabindex=\"1\" type=\"text\"></td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Podstawowe pytania</td>
<td class=\"trow2\">
                    <div style=\"width: 95%\">
                        <textarea style=\"width: 100%; padding: 4px; margin: 0;\" rows=\"8\" cols=\"80\" name=\"podstawowepytania\" id=\"message\" tabindex=\"1\">
- Jak sprawdzić czy gracz posiada God Mode ?
- Co zrobisz jeżeli nie będziesz wiedział jak postąpić z graczem w danej sytuacji:
- Co zrobisz jeżeli zobaczysz kłótnie administracji?:
- Czy można użyć komend w celach ułatwienia własnej rozrywki?:
- Co zrobisz jeżeli gracz będzie negatywnie wypowiadał się na temat serwera?:
- Czy to że jesteś adminem to znaczy że możesz wywyższać się nad innymi?:
- Co zrobisz gdy gracz będzie prowokował cię? Będziesz z nim dyskutował czy od razu nadasz karę?
- Czy możesz sprzedać swoje konto mając rangę moderacyjną na koncie?:
- Czy możesz traktować swojego kolegę inaczej a innych graczy inaczej?:
- Czy przed nadaniem kary graczowi należy dokładnie sprawdzić raport czy można uwierzć graczom na słowo?
</textarea>
                    </div>
                </td>
</tr>

<tr>
<td class=\"trow2\" width=\"20%\">Wyjaśnij znaczenie pojęć</td>
<td class=\"trow2\">
                    <div style=\"width: 95%\">
                        <textarea style=\"width: 100%; padding: 4px; margin: 0;\" rows=\"8\" cols=\"80\" name=\"wyjasnijznaczeniepojec\" id=\"message\" tabindex=\"1\">
- Air Brk:
- Speed hack:
- Aim Bot:
- Lag:
- Spam:
- Flood:
- Lost:
- IP:
- GL:
- TGL:
- s0beit:
- crasher:
- TeamKill:
</textarea>
                    </div>
                </td>
</tr>

</tbody></table>
<br>

<div style=\"text-align:center\"><input value=\"Napisz podanie\" class=\"button\" name=\"submit\" tabindex=\"4\" accesskey=\"s\" type=\"submit\">  &nbsp;</div>
</form>

"
;

$imie $_POST['imie'];
$wiek $_POST['wiek'];
$cososobie $_POST['cososobie'];
$nicki $_POST['nicki'];
$ilegrasz $_POST['ilegrasz'];
$czemuchceszbyc $_POST['czemuchceszbyc'];
$relacje $_POST['relacje'];
$banowany $_POST['banowany'];
$zaslugi $_POST['zaslugi'];
$ts3 $_POST['ts3'];
$czyprzeszkadzales $_POST['czyprzeszkadzales'];
$podstawowepytania $_POST['podstawowepytania'];
$wyjasnijznaczeniepojec $_POST['wyjasnijznaczeniepojec'];
$idkonta "$mybb->user['psrpg_user']";


$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania VALUES(NULL,$imie','$wiek','$cososobie','$nicki','$ilegrasz','$czemuchceszbyc','$relacje','$banowany','$zaslugi','$ts3','$czyprzeszkadzales','$podstawowepytania','$wyjasnijznaczeniepojec','".$idkonta."'");

$wykonajrekruj "$db->query($zapytanierekruj)";

}
else
{
    
$pgcontent .= "<center>Aby złożyć podanie należy zintegrować konto Forum i SAMP.</center>";
}
            }
            else
            {
                
$pgcontent .= "<center>Rekrutacja jest obecnie wyłączona, zapraszamy później.</center>";
            }

                
add_breadcrumb("Rekrutacja na Junior Admina""index.php?page=rekrujzloz"); 
            } 
Tabela:

    if(!$db->table_exists("rekrujpodania"))
    {
        
$db->write_query("CREATE TABLE ".TABLE_PREFIX."rekrujpodania (
            `idtemat` int(10) unsigned NOT NULL AUTO_INCREMENT,
            `idsamp` int(10) unsigned NOT NULL,
            `imie` varchar(20) NOT NULL DEFAULT '',
            `wiek` varchar(20) NOT NULL DEFAULT '',
            `cososobie` LONGTEXT NOT NULL DEFAULT '',
            `nicki` varchar(50) NOT NULL DEFAULT '',
            `ilegrasz` varchar(40) NOT NULL DEFAULT '',
            `czemuchceszbyc` LONGTEXT NOT NULL DEFAULT '',
            `relacje` LONGTEXT NOT NULL DEFAULT '',
            `banowany` varchar(60) NOT NULL DEFAULT '',
            `zaslugi` varchar(70) NOT NULL DEFAULT '',
            `ts3` varchar(30) NOT NULL DEFAULT '',
            `czyprzeszkadzales` LONGTEXT NOT NULL DEFAULT '',
            `podstawowepytania` LONGTEXT NOT NULL DEFAULT '',
            `wyjaśnijznaczeniepojec` LONGTEXT NOT NULL DEFAULT '',
            `datatematu` DATE NOT NULL,
            `statuspodania` varchar(20) NOT NULL DEFAULT 'Oczekujące',
            PRIMARY KEY (`idtemat`)
            ) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
        "
);
    } 
Demo: http://psr-serv.pl/forum/panel/index.php...rekrujzloz
Testowe konto:
MyBB PL
111111
Prawdopodobnie to wina tej linijki
$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania VALUES(NULL,$imie','$wiek','$cososobie','$nicki','$ilegrasz','$czemuchceszbyc','$relacje','$banowany','$zaslugi','$ts3','$czyprzeszkadzales','$podstawowepytania','$wyjasnijznaczeniepojec','".$idkonta."'");

Jak dla mnie to powinno być coś takiego

$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania VALUES(NULL,{$imie},{$wiek},{$cososobie},{$nicki},{$ilegrasz},{$czemuchceszbyc},{$relacje},{$banowany},{$zaslugi},{$ts3},{$czyprzeszkadzales},{$podstawowepytania},{$wyjasnijznaczeniepojec},{$idkonta}"); + zabezpieczenia!

Dalej
Co to jest? $wykonajrekruj = "$db->query($zapytanierekruj)";
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
(05.03.2016, 20:33)NiespecjalnieUzdolniony napisał(a): Prawdopodobnie to wina tej linijki
$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania VALUES(NULL,$imie','$wiek','$cososobie','$nicki','$ilegrasz','$czemuchceszbyc','$relacje','$banowany','$zaslugi','$ts3','$czyprzeszkadzales','$podstawowepytania','$wyjasnijznaczeniepojec','".$idkonta."'");

Jak dla mnie to powinno być coś takiego

$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania VALUES(NULL,{$imie},{$wiek},{$cososobie},{$nicki},{$ilegrasz},{$czemuchceszbyc},{$relacje},{$banowany},{$zaslugi},{$ts3},{$czyprzeszkadzales},{$podstawowepytania},{$wyjasnijznaczeniepojec},{$idkonta}"); + zabezpieczenia!
Nie działa ;c

(05.03.2016, 20:33)NiespecjalnieUzdolniony napisał(a): Dalej
Co to jest? $wykonajrekruj = "$db->query($zapytanierekruj)";
do wykonania zapytania
a to zmieniłeś $wykonajrekruj = "$db->query($zapytanierekruj)"; na $wykonajrekruj = $db->query($zapytanierekruj);?
Bo ja nie wiem od kiedy wartość w stringu może wykonywać się jak funkcja.
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
MyBB napotkało wewnętrzny błąd w zapytaniu SQL i nie może kontynuować.

Błąd SQL:
    1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sprawdzić czy gracz posiada God Mode ? - Co zrobisz jeżeli nie będziesz wied' at line 1
Zapytanie:
    INSERT INTO mybb_rekrujpodania VALUES(NULL,czxc,dfsadsf,dfsadsaf,dsafdsaf,sadfsadf,sdafdsaf,adsfdfsa,dsafadsf,sadfadsf,adfsadsf,afsddsafdsaf,- Jak sprawdzić czy gracz posiada God Mode ? - Co zrobisz jeżeli nie będziesz wiedział jak postąpić z graczem w danej sytuacji: - Co zrobisz jeżeli zobaczysz kłótnie administracji?: - Czy można użyć komend w celach ułatwienia własnej rozrywki?: - Co zrobisz jeżeli gracz będzie negatywnie wypowiadał się na temat serwera?: - Czy to że jesteś adminem to znaczy że możesz wywyższać się nad innymi?: - Co zrobisz gdy gracz będzie prowokował cię? Będziesz z nim dyskutował czy od razu nadasz karę? - Czy możesz sprzedać swoje konto mając rangę moderacyjną na koncie?: - Czy możesz traktować swojego kolegę inaczej a innych graczy inaczej?: - Czy przed nadaniem kary graczowi należy dokładnie sprawdzić raport czy można uwierzć graczom na słowo? ,- Air Brk: - Speed hack: - Aim Bot: - Lag: - Spam: - Flood: - Lost: - IP: - GL: - TGL: - s0beit: - crasher: - TeamKill: ,Array['psrpg_user']

Odwiedź Polski Support MyBB aby uzyskać pomoc.
zobacz ostatni element tablicy Array['psrpg_user']

Dodatkowo skrypt nie może ci wypełnić wszystkich kolumn

Zobacz
masz takie coś...
VALUES(NULL,{$imie},{$wiek},{$cososobie}...
a w tabeli pierwsze 3 kolumny są takie
idtemat int(10) unsigned NOT NULL AUTO_INCREMENT,
idsamp int(10) unsigned NOT NULL,
imie varchar(20) NOT NULL DEFAULT '',
wiek varchar(20) NOT NULL DEFAULT '',

Nie możesz tak zrobić
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
Poprawiłem.
MyBB napotkało wewnętrzny błąd w zapytaniu SQL i nie może kontynuować.

Błąd SQL:
   1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sprawdzić czy gracz posiada God Mode ? - Co zrobisz jeżeli nie będziesz wied' at line 1
Zapytanie:
   INSERT INTO mybb_rekrujpodania VALUES(NULL,czxc,dfsadsf,dfsadsaf,dsafdsaf,sadfsadf,sdafdsaf,adsfdfsa,dsafadsf,sadfadsf,adfsadsf,afsddsafdsaf,- Jak sprawdzić czy gracz posiada God Mode ? - Co zrobisz jeżeli nie będziesz wiedział jak postąpić z graczem w danej sytuacji: - Co zrobisz jeżeli zobaczysz kłótnie administracji?: - Czy można użyć komend w celach ułatwienia własnej rozrywki?: - Co zrobisz jeżeli gracz będzie negatywnie wypowiadał się na temat serwera?: - Czy to że jesteś adminem to znaczy że możesz wywyższać się nad innymi?: - Co zrobisz gdy gracz będzie prowokował cię? Będziesz z nim dyskutował czy od razu nadasz karę? - Czy możesz sprzedać swoje konto mając rangę moderacyjną na koncie?: - Czy możesz traktować swojego kolegę inaczej a innych graczy inaczej?: - Czy przed nadaniem kary graczowi należy dokładnie sprawdzić raport czy można uwierzć graczom na słowo? ,- Air Brk: - Speed hack: - Aim Bot: - Lag: - Spam: - Flood: - Lost: - IP: - GL: - TGL: - s0beit: - crasher: - TeamKill: ,545

Odwiedź Polski Support MyBB aby uzyskać pomoc.
Masz niewłaściwie kolumny uzupełnione
w miejscu idsamp masz zmienną $imie
w miejscu imie masz $wiek itd.

Na górze masz rozwinięcie tej wypowiedzi
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania VALUES(NULL,{$idkonta},{$imie},{$wiek},{$cososobie},{$nicki},{$ilegrasz},{$czemuchceszbyc},{$relacje},{$banowany},{$zaslugi},{$ts3},{$czyprzeszkadzales},{$podstawowepytania},{$wyjasnijznaczeniepojec}"); 
tak mam, tzn jak mam z tamtymi kolumnami zrobić?
Masz tutaj http://www.w3schools.com/php/php_mysql_insert.asp
pierwszy przykład jak to powinno iść
najpierw wymieniasz kolumny a później dajesz do nich wartości

i możesz mieć błąd bo idsamp nie może być puste
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
Teraz mam:
$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania (idsamp, imie, wiek, cososobie, nicki, ilegrasz, czemuchceszbyc, relacje, banowany, zaslugi, ts3, czyprzeszkadzales, podstawowepytania, wyjasnijznaczeniepojec) VALUES (NULL,{$idsamp},{$imie},{$wiek},{$cososobie},{$nicki},{$ilegrasz},{$czemuchceszbyc},{$relacje},{$banowany},{$zaslugi},{$ts3},{$czyprzeszkadzales},{$podstawowepytania},{$wyjasnijznaczeniepojec}"); 

i ten sam efekt
Tutaj masz źle
(idsamp,
VALUES (NULL,{$idsamp},
widzisz?
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
A widzę,

Błąd SQL

MyBB napotkało wewnętrzny błąd w zapytaniu SQL i nie może kontynuować.

Błąd SQL:
    1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sprawdzić czy gracz posiada God Mode ? - Co zrobisz jeżeli nie będziesz wied' at line 1
Zapytanie:
    INSERT INTO mybb_rekrujpodania (idtemat, idsamp, imie, wiek, cososobie, nicki, ilegrasz, czemuchceszbyc, relacje, banowany, zaslugi, ts3, czyprzeszkadzales, podstawowepytania, wyjasnijznaczeniepojec) VALUES (NULL,545,czxc,dfsadsf,dfsadsaf,dsafdsaf,sadfsadf,sdafdsaf,adsfdfsa,dsafadsf,sadfadsf,adfsadsf,afsddsafdsaf,- Jak sprawdzić czy gracz posiada God Mode ? - Co zrobisz jeżeli nie będziesz wiedział jak postąpić z graczem w danej sytuacji: - Co zrobisz jeżeli zobaczysz kłótnie administracji?: - Czy można użyć komend w celach ułatwienia własnej rozrywki?: - Co zrobisz jeżeli gracz będzie negatywnie wypowiadał się na temat serwera?: - Czy to że jesteś adminem to znaczy że możesz wywyższać się nad innymi?: - Co zrobisz gdy gracz będzie prowokował cię? Będziesz z nim dyskutował czy od razu nadasz karę? - Czy możesz sprzedać swoje konto mając rangę moderacyjną na koncie?: - Czy możesz traktować swojego kolegę inaczej a innych graczy inaczej?: - Czy przed nadaniem kary graczowi należy dokładnie sprawdzić raport czy można uwierzć graczom na słowo? ,- Air Brk: - Speed hack: - Aim Bot: - Lag: - Spam: - Flood: - Lost: - IP: - GL: - TGL: - s0beit: - crasher: - TeamKill:

Odwiedź Polski Support MyBB aby uzyskać pomoc.
$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania (idtemat, idsamp, imie, wiek, cososobie, nicki, ilegrasz, czemuchceszbyc, relacje, banowany, zaslugi, ts3, czyprzeszkadzales, podstawowepytania, wyjasnijznaczeniepojec) VALUES (NULL,{$idsamp},{$imie},{$wiek},{$cososobie},{$nicki},{$ilegrasz},{$czemuchceszbyc},{$relacje},{$banowany},{$zaslugi},{$ts3},{$czyprzeszkadzales},{$podstawowepytania},{$wyjasnijznaczeniepojec}"); 
Daj jakieś bardziej czytelne dane do inserta bo przy tych się szybciej zniechęcę niż coś znajdę.
Jestem pewien, że masz błąd w tym Insercie tylko teraz trzeba wiedzieć gdzie :P
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
Zrobiłem tak:
if(isset($_POST['ok']))
{
$zapytanierekruj = ("INSERT INTO ".TABLE_PREFIX."rekrujpodania (idtemat,idsamp,imie,wiek,cososobie,nicki,ilegrasz,czemuchceszbyc,relacje,banowany,zaslugi,ts3, czyprzeszkadzales,podstawowepytania,wyjasnijznaczeniepojec) VALUES (NULL,{$idsamp},{$imie},{$wiek},{$cososobie},{$nicki},{$ilegrasz},{$czemuchceszbyc},{$relacje},{$banowany},{$zaslugi},{$ts3},{$czyprzeszkadzales},{$podstawowepytania},{$wyjasnijznaczeniepojec}");

$wykonajrekruj $db->query($zapytanierekruj);


Lecz to z niczym nie pomogło, a jakie dane Ci chodzi?



Użytkownicy przeglądający ten wątek:

1 gości