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

question-closed Wywołanie funkcji JS przez przycisk w PHP

Object Storage Arubacloud
0 głosów
1,194 wizyt
pytanie zadane 23 czerwca 2018 w JavaScript przez wiktoz Mądrala (7,040 p.)
zamknięte 25 czerwca 2018 przez wiktoz

Witam, sprawa wygląda następująco:

1. Wypisuję w PHP przycisk (raczej musi to być wypisane w php, ponieważ pobieram zmienne z bazy danych)

echo "<button onclick='addfriend(".$row['id'].")' >Dodaj</button>";

2. Chcę teraz użyć AJAXa, aby dodać dane do bazy (w pliku add.php mam wszystko dobrze opisane)

function addfriend(id){
				$.ajax({
					url: "query/add.php",
					data: {'id='+id},
					type: "GET"
				});
			}

Problem tkwi w tym, że ten przycisk nie wywołuje powyższej funkcji. Wiem, że w sposób jaki zaprezentowałem nie jest to możliwe, ponieważ PHP wykonuje się po stronie serwera, a JS po stronie klienta. 

Proszę o pomoc jak to można wykonać!

komentarz zamknięcia: Rozwiązane!
2
komentarz 23 czerwca 2018 przez hun1er76 Stary wyjadacz (11,960 p.)

Problem tkwi w tym, że ten przycisk nie wywołuje powyższej funkcji. Wiem, że w sposób jaki zaprezentowałem nie jest to możliwe, ponieważ PHP wykonuje się po stronie serwera, a JS po stronie klienta. 

 Ale co to ma do rzeczy. Funkcja js jak najbardziej powinna się wykonać.

w pliku add.php mam wszystko dobrze opisane

Nie wiem czy masz dobrze opisane, ponieważ go nie załączyłeś, natomiast upewnij się czy parametr id jest na pewno poprawnie przesyłany, IMO powinno wyglądać np. { id: id }

komentarz 23 czerwca 2018 przez rafal.budzis Szeryf (85,260 p.)

Tak jak mówi @hun1er76 PHP wykona się po stronie serwera ale kod HTML przycisku będzie już w przeglądarce poprawny. Wszystko powinno działać. Kliknij prawym na swojej stronie i daj wyświetl źródło strony zobaczysz co dostaje przeglądarka. Będzie tam twój przycisk z PHP z odpowiednią liczbą ;)

komentarz 25 czerwca 2018 przez wiktoz Mądrala (7,040 p.)

@hun1er76, coś dalej mi nie idzie, więc wstawiam add.php


if(!isset($_SESSION['id']))
{
	header("Location: start");
	exit();
}

$id = $_SESSION['id'];
$added = $_GET['id'];

		require_once "connect.php";
			mysqli_report(MYSQLI_REPORT_STRICT);
			try
			{
				$connect = new mysqli($host,$db_user,$db_pass,$db_name);
				mysqli_set_charset($connect,"utf8");
				if($connect->connect_errno!=0)
				{
					throw new Exception(mysqli_connect_errno());
				}
				else
				{
					$query = "INSERT INTO requests VALUES (NULL,'abc','abc','abc','abc',0,'','abc','null','null','unknown',0,'')";
					
					$result=$connect->query($query);
				}
				$connect->close();
			}		
			catch(Exception $error)
			{
				$_SESSION['error'] = 'Server error. Try again later, please!';
			}

 

komentarz 25 czerwca 2018 przez wiktoz Mądrala (7,040 p.)
Dobra, dzięki za pomoc.

Musiałem usunąć pierwszego ifa w add.php

Podobne pytania

0 głosów
2 odpowiedzi 1,017 wizyt
pytanie zadane 25 sierpnia 2018 w JavaScript przez nielotweb Bywalec (2,240 p.)
+1 głos
1 odpowiedź 181 wizyt
pytanie zadane 1 sierpnia 2021 w JavaScript przez mgab Nowicjusz (160 p.)
0 głosów
1 odpowiedź 409 wizyt
pytanie zadane 13 lutego 2016 w JavaScript przez CzlowiekSkrypt Nałogowiec (26,340 p.)

92,550 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,936 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...