Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

Zasięg zmiennych

php

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 03.07.2015 22:41

Witam,

Mamy trzy pliki

  • A.php
  • B.php
  • C.php

W pliku A.php, załączam plik B.php ( include ), za to w pliku B.php za pomocą jquery/ajax do jednego z divów ( utworzonego w B.php ), wrzucam zawartość pliku C.php. Problem polega na tym że w pliku C.php, zmienna z pliku B.php jest niewidoczna. Jak temu zaradzić ?

Uprzedzam że jest to po prostu zmienna deklarowana w pierwszej linii B.php - globalna

$id = 1;

Próba użycia

echo $id;

w C.php, nie wyświetla niczego.

 

EDIT: Rozwiązałem ten problem przy użyciu Cookies, lecz czy jest to dobra metoda ?


  • +
  • -
  • 0

#2 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 04.07.2015 06:53

Nie jest.

Nie do końca rozumiem problem - próbujesz wypisać kod pliku C.php na stronie w divie?

Jak nie widzimy kodu to nie wiadomo o co chodzi, ja przynajmniej jasnowidzem nie jestem...


  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#3 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 06.07.2015 10:12

Jeżeli temat aktualny i dobrze zrozumiałem to w pliku C powinno być według mnie

global $id;

echo $id;

  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#4 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 06.07.2015 10:51

Jeżeli temat aktualny i dobrze zrozumiałem to w pliku C powinno być według mnie
 

global $id;

echo $id;

 

Sprawdzałem, nie działa :/

Dobrze zrozumiałeś


  • +
  • -
  • 0

#5 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 06.07.2015 11:23

a w C includujesz B? Może jak już Ajaxem się z C łączysz, to po prostu wyślij wartość tej zmiennej :X


  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 06.07.2015 11:36

Pokaż kod


  • +
  • -
  • 0

#7 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 06.07.2015 21:30

Kod który daje już działa, tylko nie wiem czy jest to dobre rozwiązanie #hardcoded?:

A.php

<?php
include( "inc/head.php" );
include( "inc/foot.php" );
?> 

B.php ( head.php )

$id = 1;
setcookie( "id", $id, time()+3600 );

Skrypt z B.php:

<script type="text/javascript">
$( document ).ready(function() {
	$( "#addTricks" ).click(function() {
		$( "#body" ).load( "inc/addTricks.php" );
	});
});
</script>

C.php ( addTricks.php ):

$id = $_COOKIE[ "id" ];

Skrypt z C.php ( addTricks.php ):

$( "#newTrick" ).click( function() {
	var idz = <?php echo '"'. $id .'";'; ?>
	var inpTrick = $( "select[name=trick]" ).val();
	var inpType = $( "select[name=types]" ).val();
	var inpPlace = $( "select[name=place]" ).val();
	var inpLink = $( "input[name=vidLink]" ).val();
	if( isEmpty( inpLink ) || isEmpty( inpType ) || isEmpty( inpPlace ) )
	{
		alert( "Wypelnij wszystkie pola" );
		return false;
	}
	
	$.ajax({
		type:"post",
		url:"inc/sendTricks.php",
		dataType:"text",
		data: "id="+idz+"&trick="+inpTrick+"&types="+inpType+"&place="+inpPlace+"&vidLink="+inpLink,
			success: function() {
				alert( "UDALO SIEEEEE" );
				$( "#newTrick" ).attr( "disabled", true );
				setTimeout(function(){
					$("#newTrick").attr("disabled", false );
					}, 10000);
			}
		});
})

Bez sensu jest podawani sendTricks.php, bo wcześniej ( zanim użyłem Cookies ) zwykłe echo $id; w C.php niczego nie wypisywało. Jeżeli coś jest nie jasno proszę śmiało pisać


  • +
  • -
  • 0

#8 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 07.07.2015 23:37

Po prostu użyj metody GET na pliku C.
Ja to zrobiłem tak
 
Tak jakby plik B
<?php 
$id = 11;
?>
<html>
<head>
<title> Test JS Load </title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
	$( "#addTricks" ).click(function() {
		$( "#body" ).load( "test2.php?id=<?php echo $id ?>" );
	});
});
</script>
</head>
<body>
<div id="addTricks">Dodaj Triki POLAKU ROBAKU</div>
<div id="body"></div>
</body>
</html>
Tak jakby plik C
<?php
$id = $_GET['id'];
?>

Twoje id to <?php echo $id ?>
Sprawdzałem i śmiga.

Użytkownik wiwi249 edytował ten post 07.07.2015 23:38

  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul






Również z jednym lub większą ilością słów kluczowych: php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych