Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Include cokolwiek i nie działa...
Forum PHP.pl > Forum > Przedszkole
Anonymous
Cze,
Ja o php mam małe pojęcie. Instaluje parę skryptów i zawsze mi coś nie działa... Pisze mi w której linijce sprawdzam a tu okazuje się że zawsze chodzi tu o include (coś tam) nie wiem o co tu chodzi bo wszystko mi dobrze funkcjonuje tylko to jedno include mi nie działa, i tak to jest w każdym pliku...
Napewno wiecie o co chodzi...
Foxx
pokaż kod...
i powiedz jaki błąd wyświetla...
Anonymous
Błąd:

Warning: Failed opening 'forms/register.frm' for inclusion (include_path='apacheincludes;apachehtdocs;apachehtdocsphpmyadmin') in c:apacheusersmk auth 1.0includeregister.php on line 48

Kod: [php:1:00b4197689]<?php
<?

$result = False;
if($submit)
{
if (!$_POST['login'] || !$_POST['passwd'])
{
echo "<p class=error align=center>Wszystkie pola są obowiązkowe.</p>n";
}
elseif (!eregi("^[_[:alnum:]-]{1,10}$", $_POST['login']))
{
echo "<p class=error align=center>Nieprawidłowy login.</p>n";
}
elseif (!eregi("^[_[:alnum:]-]{3,10}$", $_POST['passwd']))
{
echo "<p class=error align=center>Niepoprawne hasło.</p>n";
}
elseif ($user->is_user ($_POST['login']))
{
echo "<p class=error align=center>Login "{$_POST['login']}" jest już zajęty.</p>n";
}
elseif (!$user->add_user (strtolower ($_POST['login']), md5 ($_POST['passwd'])))
{
// informacje o problemach :-)
echo "<p class=error align=center>Konto nie zostało utworzone.</p>n";
echo "Wystąpił bład podczas tworzenia nowego konta, skontaktuj się z ";
echo "administratorem strony <twój@email>.n";
}
else
{
$result = True;
// informacjie o nowym koncie
echo "<p class=ok align=center>Konto zostało utworzone.</p>n";
echo "Jeśli zapomnisz hasło to koniec :-), wszystkie hasła są kodowane. ";
echo "Możesz teraz się zalogować i przetestować konto.n";
}
}

if (!$result)
{
include ('forms/register.frm');
}
?>
?>[/php:1:00b4197689]

To tylko jeden z przykładów bo mi include nigdy nie działa...
Anonymous
Na moje oko to musisz w php.ini ustawic sciezke do includow. Inaczej nie da rady.
Anonymous
Cytat
Na moje oko to musisz w php.ini ustawic sciezke do includow. Inaczej nie da rady.


Chyba masz rację!!! Spróbuję...
Astaroth
Tylko że ja niewiem jaką ścieżkę ustawić...

; Paths and Directories ;
include_path = "apacheincludes;apachehtdocs;apachehtdocsphpmyadmin" ; UNIX: "/path1:/path2" Windows: "path1;path2"

Chce żeby mi to działało w każdym z folderów w folderze 'users' Napisz co mam tam wpisać za ścieżkę...
Anonymous
No ja tez nie wiem, jak po instalacji masz poustawiane, podam wiec jak u mnie to wyglada i sobie dopasujesz. Na dysku php mam w C:php, katalog z includami ma sciezke C:phpincludes.

W php.ini sciezka wyglada tak:
include_path = ".;c:phpincludes"

Jak masz pod czyms innym (unix/linux) to tylko odwracasz slasha. Powodzenia smile.gif
Liko
Cytat
No ja tez nie wiem, jak po instalacji masz poustawiane, podam wiec jak u mnie to wyglada i sobie dopasujesz. Na dysku php mam w C:php, katalog z includami ma sciezke C:phpincludes.

W php.ini sciezka wyglada tak:
include_path = ".;c:phpincludes"

Jak masz pod czyms innym (unix/linux) to tylko odwracasz slasha. Powodzenia smile.gif


Co ty gadasz ze tylko odwracasz slasha. Na linuchu nie ma dysków tylko foldery czyli np.
/usr/local/php/includes/
Astaroth
Dzięki wszystkim zaraz spróbuję!!! Jak by co to mam windowsa smile.gif
Astaroth
Qrna chyba jestem zatępy :? Pomóżcie...

Kod
Warning: Failed opening 'left.php' for inclusion (include_path='c:apacheincludes') in c:apacheuserslogowanie_phplogowanie_phpindex.php on line 27

Teraz wyskakuje mi taki błąd...
phptriad4-1 mam zainstalowane w c:/apache
Katalog z ćwiczeniami i skryptami mam w c:/apache/users
Natomiast folder includes mam w c:/apache/includes

Niewiem co robić bo jestem 'laikiem' smile.gif I nie mam pojęcia co mam wpisać w ściażce includes_path.

Please odpiszcie...
Astaroth
Proszę odpowiedzcie bo nie wiem co zrobić ciąglę mi te includes nie działa...
e4you
podajesz zlą scieżke do pliku który ma być includowany.


przyklad chcesz includowac plik left.php który jest w katalogu test

to robisz tak

[php:1:53443ef2ad]<?php
@include("test/left.php");
?>[/php:1:53443ef2ad]


P.S postaw znaczek @ przed include bledu nie bedzie smile.gif

Masz to na serwerku lokalnym czy w internecie
Anonymous
Cytat
(...) co ty gadasz ... na linuchu (...)
ok. zapedzilem sie, ale chodzilo mi sama sciezke w php.ini:

; UNIX: "/path1:/path2"
include_path = ".:/php/includes"

ad Astaroth ->Jelsi dobrze widze, to w php.ini powinienes wpisac sciezke dostepu do includow z php, apache ma swoje includy osobno. Sprobuj tak najpierw: include_path = ".;c:apacheincludes".
Astaroth
Narazie mam to na localhost ale za niedługo mam zamiar przenosić na serwer.
e4you
to zainstaluj sobie foxserv tam dziala wszystko bez problemu
pozniej tylko ten kod Ci dalem i wsio
Astaroth
Więc tak w jednym ćwiczeniu mi to działało, jednak potem już nie i wyskoczył błąd:
Kod
Warning: Failed opening 'forms/registration.frm' for inclusion (include_path='.;c:/apache/includes') in c:apacheusersautoryzacjaincluderegistration.php on line 50


Natomiast źródło strony jest takie[php:1:acfedbeec5]<?php
<table border=1 width=100%>
<tr><th align=center>
..:: Rejestracja ::..
</th></tr>
</table>


<?

$result = False;
if($submit)
{
if(!$_POST["login"] || !$_POST["passwd"])
{
echo "<p class=error align=center>Wszystkie pola są obowiązkowe.</p>n";
}
elseif(!eregi("^[_[:alnum:]-]{1,10}$", $_POST["login"]))
{
echo "<p class=error align=center>Nieprawidłowy login.</p>n";
}
elseif(!eregi("^[_[:alnum:]-]{3,10}$", $_POST["passwd"]))
{
echo "<p class=error align=center>Niepoprawne hasło.</p>n";
}
elseif($user->is_user($_POST["login"]))
{
echo "<p class=error align=center>Login "{$_POST["login"]}" jest już zajęty.</p>n";
}
elseif(!$user->add_user(strtolower($_POST["login"]), md5($_POST["passwd"])))
{
// informacje o problemach :-)
echo "<p class=error align=center>Konto nie zostało utworzone.</p>n";
echo "Wystąpił bład podczas tworzenia nowego konta, skontaktuj się z ";
echo "administratorem strony <twój@email>.n";
}
else
{
$result = True;
// informacjie o nowym koncie
echo "<p class=ok align=center>Konto zostało utworzone.</p>n";
echo "Jeśli zapomnisz hasło to koniec :-), wszystkie hasła są kodowane. ";
echo "Możesz teraz się zalogować i przetestować konto.n";
}
}

if(!$result)
{
// usówa tagi html z formularza
$login = htmlentities($_POST["login"]);
include("forms/registration.frm");
}
?>
?>[/php:1:acfedbeec5]

Wtedy jak dałem @ przed includes jak mi radził 'e4you' to mi tylko ten kod zniknął a formularz (bo tu on ma się pokazać) się nie pokazuje.
Nie wiem już o co może chodzić...
Może wy wiecie??
e4you
jak includujesz staraj sie unikac takich koncowek w plikach ja masz ty frm bezpieczniej bedzie zmienic ja na php, wtedy nik nie zaglądnie ci do tego pliku
Astaroth
No dobra lecz kiedy zmienię na *php to i tak mi się nie wyświetli formularz...
e4you
a ten plik masz w ogole w katalogu forms

zmien to

include("forms/registration.frm");

na

include("/forms/registration.frm");

dziala
Astaroth
Ok dzięki wszystkim!!! Okazało się że ścieżka wkońcu działa a '/' przed każdym adresem pliku trzeba dać... Dzięki!!!
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.