Ocena wątku:
- 1 głosów - średnia: 5
- 1
- 2
- 3
- 4
- 5
Prawdopodobny błąd składni
|
Liczba postów: 70
Liczba wątków: 20
Dołączył: 04-05-2011
Reputacja:
0
09-10-2011, 21:53
Witajcie,
Otóż napisałem taki skrypt:
Kod PHP: <?php $reg = include 'reg.php'; if (isset($_SESSION['user_id']) and isset($_SESSION['login'])) { echo'<li><a href="profile.php">Mój Profil</a></li> <li><a href="unlog.php">Wyloguj się</a></li>'; } else { echo'<li><a href="rejestracja.php">Rejestracja</a><div id="register"> $reg </div></li><li><a href="login.php">Logowanie</a><div id="login"></div></li>'; } ?>
Ten skrypt powinien ustawić zmienną $reg na zawartość pliku reg.php.
Następnie powinien sprawdzić czy user jest zalogowany i jesli nie to wyświetla przycisk "Rejestracja" i "Logowanie". Pod "Rejestracją" powinna pokazać się zawartość pliku $reg (panel rejestracji) jednak tak się nie dzieje. Mam więc do Was pytanie. W którym miejscy popełniłem błąd? Wydaje mi się, że to błąd składni po echo ale nie moge go dokładnie znaleźć.
Liczba postów: 340
Liczba wątków: 38
Dołączył: 28-04-2010
Reputacja:
15
10-10-2011, 03:18
(Ten post był ostatnio modyfikowany: 10-10-2011, 03:19 przez R_Rafalsky.)
wywal ten $reg z drugiej linijki
a echo tak:
Kod: echo'<li><a href="rejestracja.php">Rejestracja</a><div id="register">';
include('reg.php');
echo '</div></li><li><a href="login.php">Logowanie</a><div id="login"></div></li>';
EDIT:
oczywisice w reg.php musisz mieć jakieś polecenie wyświetlające (np. echo) by coś się pojawiło
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję
Any sufficiently advanced technology is indistinguishable from magic.
Liczba postów: 70
Liczba wątków: 20
Dołączył: 04-05-2011
Reputacja:
0
10-10-2011, 22:34
(Ten post był ostatnio modyfikowany: 11-10-2011, 00:25 przez MatixYo.)
Dzięki za pomoc. Ale mam jeszcze jeden problem otóż chciałbym żeby plik "reg.php" który jest załączony w kilku plikach wysyłał do tego pliku w którym się znajduję zmienną.
Oto fragment kodu:
Kod PHP: $domain = $_SERVER['SCRIPT_NAME'];
Tutaj powinno nadać zmiennej "$domain" wartość lokalizacji w której znajduję się plik.
Następnie powinno wysłać do samego siebie zmienną:
Kod PHP: <form action="$domain.php" method="post">
Niestety tak się nie dzieje. Bardzo proszę o pomoc
PS @up Reput poleciał
Liczba postów: 340
Liczba wątków: 38
Dołączył: 28-04-2010
Reputacja:
15
polecenie include powoduje import i wykonanie skryptu. więc mając taką sytuację
1. Główny plik $zmienna=5;
2. includujemy reg.php a w nim $zmienna=4;
3. główny plik: echo $zmienna - wyświetli 4;
Teraz tak. Nie wyświetla Ci się ponieważ dodajesz $domain po stronie HTML a nie PHP. Musisz przejść na PHP czyli
Kod: <form action="<?php echo $domain.php; ?>" method="post">
między znacznikami
ładujemy kod PHP do wykonania. W naszym przypadku będzie to:
czyli wyświetlenie zmiennej $domain
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję
Any sufficiently advanced technology is indistinguishable from magic.
Liczba postów: 70
Liczba wątków: 20
Dołączył: 04-05-2011
Reputacja:
0
11-10-2011, 00:27
(Ten post był ostatnio modyfikowany: 11-10-2011, 00:28 przez MatixYo.)
To wszystko jest w jednym PHP-ku.
Nadal jednak nie wiem jak zrobić żeby w zależności od tego gdzie reg.php jest includowany (właściwie to jest on podwójnie includowany tzn. najpierw jest includowany do pliku "menu.php" a potem ten plik jest includowany do (np. index).php) ustawiana była zmienna $domain która określa gdzie mają być wysłane dane z formularza.
Liczba postów: 340
Liczba wątków: 38
Dołączył: 28-04-2010
Reputacja:
15
Zaraz, zaraz bo chyba problemu nie rozumiem
Includujemy reg z dowolnego miejsca tak? I w tym reg ma się pojawić link do tego miejsca gdzie includowaliśmy reg?
Jeżeli tak to przed includowaniem musisz ustawić zmienną a dopiero później includować reg. Wtedy masz w pamięci zmienną, którą może operować reg
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję
Any sufficiently advanced technology is indistinguishable from magic.
Liczba postów: 70
Liczba wątków: 20
Dołączył: 04-05-2011
Reputacja:
0
Właśnie nie działa. Kiedy w np. pliku index.php ustawie zmienną $domain = index.php to w zaincludowanym pliku reg.php nie będzie się ona wyświetlała kiedy podam echo $domain; (Wiem bo testowałem). Jest to mi potrzebne do tego żeby skrypt wracał użytkownika do strony która była przed zalogowaniem. W js da się chyba ustawić takie coś, że cofa usera o określona ilość stron. Czy w PHP też jest coś takiego?
Liczba postów: 340
Liczba wątków: 38
Dołączył: 28-04-2010
Reputacja:
15
Po logowaniu ma wracać do strony gdzie użytkownik był przed logowaniem?
Wykorzystaj tą zmienną $_SERVER['HTTP_REFERER' ]. Dostaniesz adres z którego nastąpiło wejście na daną stronę.
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję
Any sufficiently advanced technology is indistinguishable from magic.
Liczba postów: 70
Liczba wątków: 20
Dołączył: 04-05-2011
Reputacja:
0
12-10-2011, 22:01
(Ten post był ostatnio modyfikowany: 12-10-2011, 22:27 przez MatixYo.)
(12-10-2011, 21:25)MatixYo napisał(a): Już chyba wiem jak to zrobić. Zamiast z 'include' spróbuje z 'require'. Chyba się pośpieszyłem. Działa to tylko w jedną stronę, tak że z zarequire'owanego pliku pobiera zmienną do pliku w którym ten plik jest zarequirowany. W drugą zaś nie działa tzn. jeśli mam plik index.php i w nim ustawie zmienną
$zmienna = ('tresc_zmiennej') to w pliku zairequire'owanym nie wyświetli tej zmiennej. Podobnie będzie chyba z $_SERVER['HTTP_REFERER' ]. Tą zmienną dostaje chyba tylko strona główna a plik zarequire'owany jej nie dostanie. Mógłbym to jeszcze zrobić tak, że po zalogowaniu przenosiło by do strony która cofałaby o dwa (najpierw do logowania a potem do strony z której user się logował) ale to wymagałoby js a tego staram się unikać.
Liczba postów: 1,054
Liczba wątków: 0
Dołączył: 28-05-2009
Reputacja:
22
Zasięg zmiennych...  http://php.net/manual/pl/language.variables.scope.php
Poczytaj trochę w manualu. To biblia każdego programisty i nie ważne czy PHP czy Pythona, manual to podstawa.
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Gdzie tu w zapytaniu jest błąd. |
Intelactive |
7 |
5,166 |
23-10-2012, 16:04
Ostatni post: Intelactive
|
|
XAMPP i błąd UAC |
Moody |
1 |
1,999 |
20-07-2012, 16:56
Ostatni post: Pedro84
|
|
[SQL, Razor, HTML] Błąd wczytania parametru z bazy danych |
Golus |
2 |
3,157 |
29-03-2012, 18:46
Ostatni post: Golus
|
|
Błąd serwera 500 tylko w Internet Explorer |
R_Rafalsky |
3 |
3,100 |
24-10-2011, 18:02
Ostatni post: urlsite
|
|
Błąd na stronie. |
Lacov |
4 |
3,555 |
31-03-2011, 05:39
Ostatni post: R_Rafalsky
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|