Skocz do zawartości
PL
Szukaj na Pecetowiczu
  • Utwórz konto

Przesyłanie zmiennych z PHP do JS


Przejdź do rekomendacji Rozwiązane przez Zevcore,
Rekomendowane odpowiedzi

Jest jakaś opcja przesyłania zmiennych z danymi do JS, powiedzmy że mam zmienną w PHP

$zmianna = "tekst";

i chciałbym ją wyświetlić w konsoli, coś tego typu 

console.log($zmienna);

I generalnie to by było za proste i nie działa, a więc jak to zrobić, najlepiej korzystając z samych tych języków bo podobno da się to obejść AJAXem, któego za bardzo nie znam.

Odnośnik do komentarza
Udostępnij na innych stronach

https://www.dyn-web.com/tutorials/php-js/scalar.php

<?php
$bool = false;
$num = 3 + 4;
$str = "A string here";
?>
<script type="text/javascript">
// boolean outputs "" if false, "1" if true
var bool = "<?php echo $bool ?>"; 

// numeric value, both with and without quotes
var num = <?php echo $num ?>; // 7
var str_num = "<?php echo $num ?>"; // "7" (a string)

var str = "<?php echo $str ?>"; // "A string here"
</script>
Odnośnik do komentarza
Udostępnij na innych stronach

Ewentualnie możesz odwołać się do skryptu PHP z JSa przez np. AJAXa i potrzebne dane zwrócić w JSONie.

<?php
$variable = 'Hello Console';

echo '<script>console.log(' . $variable . ');</script>';
Odnośnik do komentarza
Udostępnij na innych stronach

(edytowane)

Właściwie to chciałbym zrobić to odwrotnie, mam skrypt w JS do którego muszę wkleić dane z PHP, spróbuję użyć pomocy z pierwszej odpowiedzi ☺️

Albo coś robię źle albo serio nie działa

<?php
	$zmienna = "true";
?>

<script>
	function start() {
      
		var zmienna = "<?php echo $zmienna ?>";
		console.log(zmienna);
      
    }
</script>

W ten sposób mi nie działa, funkcje wykonuję onclickiem w submicie.

Edytowane przez Zevcore
Odnośnik do komentarza
Udostępnij na innych stronach

No to stwórz sobie endpoint w PHP i odwołaj się do niego z poziomu czystego JSa lub jQ, bez różnicy

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

Odnośnik do komentarza
Udostępnij na innych stronach

Przy jednej zmiennej nie był by problem zapisywanie danych do pliku i odczyt JSem, ale już przy 100 może spowolnić troszkę maszynę.

Odnośnik do komentarza
Udostępnij na innych stronach

Opisz bardziej problem, wklej jakieś kody, pokaż demo. Ciężko mi cokolwiek stwierdzić po tym co piszesz

Odnośnik do komentarza
Udostępnij na innych stronach

<input type="submit" name='submit' onclick="start()">

<?php
        global $zmienna;
        $zmienna = "true";
?>

<script>
	function start() {
        var zmienna = "<?php echo $zmienna ?>";
        console.log(zmienna);
	}
</script>
Odnośnik do komentarza
Udostępnij na innych stronach

To co wrzuciłeś, to #umniedziala

Odnośnik do komentarza
Udostępnij na innych stronach

używałem isset dla przycisku także w php ☺️

Odnośnik do komentarza
Udostępnij na innych stronach

I dalej nie działa? A co chcesz uzyskać konkretnie?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rekomendowana odpowiedź

Właściwie to już działa, mówię - niepotrzebnie dodatkowy isset używałem.

Odnośnik do komentarza
Udostępnij na innych stronach

Kontynuuj dyskusję

Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.

  • Dodaj nową pozycję...
  • Dodaj nową pozycję...