Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesylanie wartosic z JS/Ajax do PHP - SQL nie jej przyjmuje
Forum PHP.pl > Forum > PHP
bociek123
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;
}
werdan
Kod
$wartosc_z_listy_post=$_POST['klucz_ajax'];


W pliku "pobierz.php" oczekujesz danych w $_POST.


Kod
$.ajax({
type:"GET",


Powinno być
Kod
method: "post"
zamiast
Kod
type:"GET"


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.