witam, utknąłem w pomaganiu synowi:-) więc szukam wsparcie u expertów (sam jestem dość zielony w temacie). Sprawa taka, syn ma prosta strone gdzie jest formularz z nazwa użytkownika (plik index.php). chcemy aby po podaniu nazwy użytkownika na stronie wyświetliły się dane tego użytkownika pobrane z bazy PHP.
1. W skrypcie JS mamy kod AJAX który przesyła wartość z formularza (nazwa użytkownika) do pliku pobierz.php. Mamy tu taki kawalek kodu :
data: {klucz_ajax:wartosc_z_listy}
2. W pliku pobierz.php przekazujemy wartość:
$wartosc_z_listy_post=$_POST['klucz_ajax'];
i wstawiamy do SQL
$zapytanie_pobierz = "SELECT id, nazwa, haslo FROM users WHERE nazwa = '$wartosc_z_listy_post' ";
Niestety dane nie są pobierane z bazy danych. Jeśli w SQL wstawię bezpośrednio jakaś prawidłową wartość np uzytkownik1 zamiast $wartosc_z_listy_post' , wtedy wszystko gra. Jeśli wstawię tam zmienną $wartosc_z_listy_post to nic nie jest zwracane mimo, że wartość z formularza istnieje w bazie danych.
Ajax:
$.ajax({
type:"GET",
url:"pobierz.php",
contentType:"application/json; charset=utf-8",
data: {klucz_ajax:wartosc_z_listy},
dataType:'json', /
success: function(json) {
for (var klucz in json)
{ var wiersz = json[klucz];
var id = wiersz[0];
var nazwa = wiersz[1];
var haslo = wiersz[2];
$("<span>id: "+id+" nazwa: "+nazwa+" haslo: "+haslo+"</span>")
.appendTo('#wykaz')
.append("<hr>") } }
pobierz PHP:
<?php
header('Content-type: application/json');
require_once('baza.php');
$wartosc_z_listy_post=$_POST['klucz_ajax'];
$zapytanie_pobierz = "SELECT id, nazwa, haslo FROM users WHERE nazwa = '$wartosc_z_listy_post' ";
$wynik_pobierz = mysqli_query($db, $zapytanie_pobierz);
$pobrane_dane = array();
while ($wiersz = mysqli_fetch_row($wynik_pobierz))
{
$pobrane_dane[] = $wiersz;
}