• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z działeniem skryptu PHP wyciągającego dane z MySQL

42 Warsaw Coding Academy
–2 głosów
1,122 wizyt
pytanie zadane 6 maja 2016 w PHP przez MaciekM Użytkownik (990 p.)
zmienione kategorie 6 maja 2016 przez MaciekM

Witam,

tak jak w tytule mój skrypt php który stworzyłem czytając poradniki w internecie i na innych forach nie działa...

Przeglądarka po wejściu na tą podstronę wyświetla błąd:

The mmocraft.space page isn’t working

mmocraft.space is currently unable to handle this request.

HTTP ERROR 500

 

Tutaj skrypt, który po wejściu na niego wywala:

<?php
 
 require "test.php";
connection();

SELECT * FROM users WHERE nick = '$_POST[Nick]'

echo $Nick ;


?>

 

1
komentarz 6 maja 2016 przez efiku Szeryf (75,160 p.)
Wroc z pytaniem jak się czegoś nauczysz. Tymczasem zgłaszam bo pytanie nadaje się do kosza.

2 odpowiedzi

0 głosów
odpowiedź 6 maja 2016 przez MaciekM Użytkownik (990 p.)
PLIKI

http://pastebin.com/1u4eE73U -Strona która ma wyświetlić wyniki

http://pastebin.com/LQTdbzV4 -Skrypt łączący z Bazą danych

http://pastebin.com/nKyU9fHX -Fragment strony który do tego wszystkiego prowadzi
–2 głosów
odpowiedź 6 maja 2016 przez Mateusz11 Pasjonat (22,910 p.)

1. To jest PHP a nie sieci komputerowe

2. może pokażesz zawartość pliku test.php?

3.

SELECT * FROM users WHERE nick = '$_POST[Nick]'

Do czego dajesz to zapytanie? Do zmiennej, funkcji czy do echo?

4. Gdzie definiujesz zmienną $nick?

5. Gdzie walidujesz dane z formularza?

komentarz 6 maja 2016 przez Arkadiusz Waluk Ekspert (290,090 p.)

MaciekM, ale i tak można coś tam dorzucić. Na Wikipedii masz nawet przykłady, włącznie z dorzuceniem DROP TABLE co chyba nie było by miłe ;) Fakt faktem, z resztą tam też to jest zaznaczone, że z poziomu PHP nie wyślesz do bazy dwóch zapytań w jednym query, ale i tak coś tam można wstrzyknąć. Jeśli nie aż tak poważnego jak DROP TABLE to manipulować SELECTem tak aby wyświetlił wszystko przez dodanie warunku typu 1=1. Po prostu zasada jest taka, że temu co przychodzi od użytkownika nie należy ufać i skoro można się zabezpieczyć to należy to zrobić.

Mateusz11, ja w dalszym ciągu czekam na wyjaśnienie tego od Ciebie. Nie żeby coś, ale dostałeś już ostatnio oficjalne ostrzeżenie od moderatora i teraz olewanie sobie administratora (nie pierwszy raz zresztą) chyba nie jest najlepszym pomysłem.

komentarz 6 maja 2016 przez MaciekM Użytkownik (990 p.)
Kurdee, tamten skrypt jest na wprowadzanie wartości do bazy danych.
2
komentarz 6 maja 2016 przez Arkadiusz Waluk Ekspert (290,090 p.)

Ale bindowanie robi się identycznie.

  • Zapytania nie wysyłasz przez query a przez prepare i w zapytaniu jakoś sobie oznaczasz to co chcesz przekazać np. :nick
  • Później przez bindValue podczepiasz pod ten :nick jakąś zmienną
  • Na koniec wykonujesz przez execute

I tylko tyle, bindowanie dokładnie tak samo jak tam jest pokazane, a pobieranie danych z bazy już wcześniej zrobiłeś.

komentarz 7 maja 2016 przez MaciekM Użytkownik (990 p.)
Ale mi chodzi o to że tu jest jakieś dodawanie rekordów
komentarz 8 maja 2016 przez Mateusz11 Pasjonat (22,910 p.)

@Awaluk Zakładając że na serwerze jest PHP7, to nie ma prawa działać, ale jak tak drugi raz sobie to przejrzałem, to error jakiś taki nie do mysql_* mój błąd sorry frown 

Podobne pytania

0 głosów
3 odpowiedzi 2,515 wizyt
pytanie zadane 14 czerwca 2016 w PHP przez Rafik Obywatel (1,870 p.)
–3 głosów
2 odpowiedzi 339 wizyt
0 głosów
1 odpowiedź 385 wizyt
pytanie zadane 25 lutego 2017 w PHP przez Gabriel Janczak Użytkownik (710 p.)

93,383 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,744 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...