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

Problem z SQL i PHP

0 głosów
61 wizyt
pytanie zadane 11 lutego w SQL, bazy danych przez zerakot Obywatel (1,550 p.)

Witam,

W moim kodzie:

<?php
	if(isset($_POST['tekst']))
	{
		$tekst = $_POST['tekst'];
		$do = $_POST['do'];	
		$od = $_SESSION['login'];
		$tekst = $_SESSION['tekst'];
		echo $tekst;
		
		if(isset($tekst))
		{
		$connect = mysqli_connect('localhost', 'root', '', 'www');
		$zapytanie = 'insert into wiadomosci value("'.$od.'", "'.$do.'", "'.$tekst.'")';
		$wynik = mysqli_query($connect, $zapytanie);
	}	}
	?>

Po wysłaniu do bazy wszystkie zmienne poza $tresc zachowują się normalnie, ale $tresc jest takie samo jak po wpisaniu pierwszy raz do input name="tresc"(np.: test1) i jak odświeżę stronę i wpiszę coś innego do input name="tresc"(np,: test2) to w bazie danych na dobrym miejscu pokazuje się test1, a nie test2. Dodam też, że wszystkie zmienne są dobrze zinterpretowane.

1 odpowiedź

0 głosów
odpowiedź 11 lutego przez Arkadiusz Waluk Ekspert (244,510 p.)
wybrane 11 lutego przez zerakot
 
Najlepsza
Wybacz, ale zupełnie nic nie zrozumiałem.

W linii 4 wyciągasz do $tekst wartość z $_POST. Po czym w linii 7 nadpisujesz tą wartość daną z sesji - odczytanie w linii 4 nie ma więc sensu, bo nic z tą wartością nie robisz. W linii 10 wykonujesz warunek który zawsze będzie prawdziwy. Wstawiając w taki sposób dane do zapytania możliwe jest wykonanie ataku sql injection. A w treści pytania piszesz o inpucie "tresc", gdzie nigdzie w kodzie nie pada taka nazwa.
komentarz 11 lutego przez zerakot Obywatel (1,550 p.)
Nie zauważyłem tego nadpisania ;) A na jakiej lini jest to "zapytanie"?

Bo jak naciskam Ctrl+F to mi nie wyszukuje "tresc"
komentarz 11 lutego przez Arkadiusz Waluk Ekspert (244,510 p.)
No wiele ich tu nie masz, zapytanie przygotowujesz przecież w linii 13 i wykonujesz w linii 14. Rozumiesz w ogóle kod który napisałeś/pobrałeś?

No właśnie, sam napisałeś w poście że masz input tresc, a w kodzie PHP nigdzie takiej wartości nie obsługujesz. Dlatego napisałem że nic kompletnie nie rozumiem.
komentarz 11 lutego przez zerakot Obywatel (1,550 p.)
Ale ok, działa. Dziękuję za poświęcony czas i pomoc.
komentarz 11 lutego przez zerakot Obywatel (1,550 p.)

@Arkadiusz Waluk,
 Bo nigdzie w pliku nie mam wyrazu "tresc", więc nie mogę mieć go w zapytaniu. A kod sam napisałem, więc szukałem czemu nie działa to co napisałem, ponieważ nie jestem profesjonalnym programistą

 

Ok wiem, gdzie błąd zrobiłem, przepraszam złe info w opisie podałem, bo tam input type="tekst" jest, ale źle przepisałem

komentarz 11 lutego przez Arkadiusz Waluk Ekspert (244,510 p.)

Do tego cały czas dążę. Sam napisałeś w pytaniu, że w kodzie (jak rozumiem z kontekstu HTML) masz input o nazwie tresc, tak?

ale $tresc jest takie samo jak po wpisaniu pierwszy raz do input name="tresc"

Napisałeś nawet, że dla zmiennej $tresc jest takie samo. Takiej zmiennej nie ma i nigdzie w kodzie PHP, ani w momencie odczytywania wartości, zapytaniu, ani nigdzie, nie ma wartości tresc. Stąd nie zrozumiałem o co chodzi i co tak naprawdę chcesz uzyskać.

Edit: ok, teraz już lepiej, zaczynam coś rozumieć, ale dalej nie do końca wiem jaki jest/był problem.

1
komentarz 11 lutego przez zerakot Obywatel (1,550 p.)
W sumie problemem było podwójne zinterpretowanie zmiennej tekst, a to z "treść" to mój błąd w pisaniu pytania. Dziękuję

Podobne pytania

0 głosów
0 odpowiedzi 56 wizyt
pytanie zadane 20 lutego w SQL, bazy danych przez zerakot Obywatel (1,550 p.)
0 głosów
1 odpowiedź 88 wizyt
pytanie zadane 22 lutego w SQL, bazy danych przez zerakot Obywatel (1,550 p.)
0 głosów
1 odpowiedź 59 wizyt
pytanie zadane 21 lutego w SQL, bazy danych przez zerakot Obywatel (1,550 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

62,318 zapytań

108,452 odpowiedzi

226,402 komentarzy

35,113 pasjonatów

Przeglądających: 241
Pasjonatów: 8 Gości: 233

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...