rumpelek
27.02.2009, 21:00:36
witam serdecznie, na forum początkujący jestem zresztą w tematach PHP i MySQL również, jednakże mam problem, który polega na tym, że po przerzuceniu plików na inny serwer (stary php 4.x - nowy 5.x) nic nie wyświetla się w oknie przeglądarki. Kiedy w przeglądarce poleceniem sprawdzam źródło strony... to też nic nie ma... sprawdziłem skryptami na stronie i jest na 100% połączenie z bazą danych, która notabene też została zaimportowana z poprzedniego serwera. Trudnośc polega na tym, że nie mam możliwości dostępu do phpmyadmin.
Osobioście obstawiam, że może jest błąd połączenia z konkretną baza... ale nie wiem jakim prostym skryptem to sprawdzić. oraz ewentualnie co innego może być przyczyną tego, że nic się nie wyświetla.
Być może ktoś się już takimi problemami spotkał ?
Spawnm
27.02.2009, 21:04:14
podaj kod,
co do db to mysql_connect() or die ( mysql_error() );
rumpelek
27.02.2009, 22:45:57
co do kodu to jest to cały kod systemu cms SMOD 2.8
co do połączenia z serwerem sql to z pewnością jest ok...
nie wiem tylko czy łączy się z bazą... i czy coś w niej jest... może dlatego nic nie wyświetla ? ale jak to sprawdzic prostym kodem ?
coś w stylu " if database exist... " by się przydało...
guilty82
27.02.2009, 23:06:59
Cytat
Kiedy w przeglądarce poleceniem sprawdzam źródło strony... to też nic nie ma
Może plik jest pusty?
rumpelek
28.02.2009, 10:56:48
na 100% nie jest pusty

pisałem przecież, że strona została przerzucona z innego serwera...
sprawdziłem, na starm serwerze tam gdzie strona działala... wywaliłem wszystkie tabele z bazy.. tak żeby baza była pusta.. i strona wyświetla sie... jest pełno blędów oczywiście... ale coś żyje... więc z bazą sql na nowym serwerze raczej jest wsio ok...
w takim razie juz kompletnie pomyslu nie mam co może być przyczyną kompletnej PUSTOŚCI mojej strony... ?!? i głowy ?!?
Spawnm
28.02.2009, 10:59:13
może serwer nie wyświetla błędów ?
daj mysql_error() przy kontakcie i wybieraniu db .
rumpelek
28.02.2009, 11:20:53
mógłbyś podać przykładowy skrypt ?
Spawnm
28.02.2009, 11:22:46
pisałem wyżej...
mysql_connect() or die ( mysql_error() );
lub np mysql_connect() or die ( 'brak połączenia z mysql' );
rumpelek
28.02.2009, 11:33:34
zrobiłem tak...
<?
echo PHP_VERSION ;
mysql_connect('localhost', 'login', 'haslo') or
die('Nie można się połączyć');
printf ("MySQL server version: %s\n", mysql_get_server_info());
mysql_select_db("nazwabazy");
$pytam = mysql_query("SELECT * FROM Niusy ") or die(mysql_error);
$wynik = mysql_query($pytam);
while($wiersz = mysql_fetch_array($wynik))
{
$nid = $wiersz["Id_Niusy"];
$nrgaleria = $wiersz["Nr_galeria"];
$nid = $wiersz["Id_Niusy"];
$tytuln = $wiersz["Tytul"];
$zajawkan = $wiersz["Zajawka"];
$trescn = $wiersz["Tresc"];
$aktywnyn = $wiersz["Aktywny"];
$data_un = $wiersz["DU"];
$data_waznn = $wiersz["DW"];
echo "<p>$trescn</p><p class=\"newsdate\">$data_un</p>";
}
echo "jakiś tekst $zajawkan";
?>efekt jest taki, że wyświetla wersje php... wersje mysql... potem jest pusto i wyświetla tekst "jakiś tekst" bez wartości zmiennej... tak samo nic nie wyświetla zapytanie do bazy...
efekt do zobaczenia na stronie:
http://sepolno.kujawy.psp.gov.pl/test
piotrooo89
28.02.2009, 11:38:45
rumpelek
28.02.2009, 11:44:19
tzn. ? co mam ? w tej tabeli w bazie jest pełno wpisów... powinno coś wyświetlić... cokolwiek.. na szybko stworzylem jakiś zapytanie do bazy... ale nic nie wyświetla

dodałem jeszcze coś takiego do kodu:
<?php
$zmienna = 1324324245132;
echo "wartość zmiennej: $zmienna";
?>
i pokazuje wartość tej zminnej
piotrooo89
28.02.2009, 11:45:33
chodzi mi nie o to co masz miedzy "..." tylko o
mysql_query" title="Zobacz w manualu PHP" target="_manual (zachęcam do manuala).
rumpelek
28.02.2009, 11:47:40
możesz jakoś naprowadzić ? bo nie ja tworzyłem tego cms'a... więc moja wiedza jest raczej ograniczona... ale przecież to wszystko działa na innym serwerze!
piotrooo89
28.02.2009, 11:51:12
Cytat(rumpelek @ 28.02.2009, 11:47:40 )

możesz jakoś naprowadzić ?
<?php
$pytam = "SELECT * FROM Niusy";
?>
a masz w ogóle w tej tabeli jakieś dane?
rumpelek
28.02.2009, 12:08:07
hmm... jednak wychodzi na to, że w bazie jest PUSTO...
zastosowałem poniższy kod...:
$pytam = "SELECT * FROM Niusy ";
$wynik = mysql_query($pytam);
$ile = mysql_num_rows($wynik);
if ($ile == 0)
{
echo "pusto w bazie";
}
else
{
echo "NIE pusto w bazie";
}
i na starym serwerze w przeglądarce mam info ze sa dane w bazie a na nowym serwerze mam info ze jest pusto..
więc chyba już mam "winnego" !

tyle czasu zmarnowane a gość twierdził, ze wsio zaimportował - nie mam bezpośredniego dostępu do serwera! )
tylko na starym serwerze mam infomacje o błędach.. a na nowym serwie chyba jest wyłączone raportowanie błedów i dlatego...
Jest może prosty sposób żeby tą teze sprawdzić (dotyczącą wyłączonego raportowania?)
piotrooo89
28.02.2009, 12:10:14
Cytat(rumpelek @ 28.02.2009, 12:08:07 )

tylko na starym serwerze mam infomacje o błędach.. a na nowym serwie chyba jest wyłączone raportowanie błedów i dlatego...
ale tu nie ma błędów! wszystko jest ok, tylko nie masz danych w tabeli dlatego masz pusto. wszystkie zapytania wykonywane są poprawnie.
rumpelek
28.02.2009, 12:11:54
błąd...
źle spojrzałem... a bazie NIE JEST PUSTO
http://sepolno.kujawy.psp.gov.pl/testprzecież pokazuje jak byk w przeglądarce "NIE jest pusto w bazie" tylko źle spojrzałem... więc jednak to nie ten trop
piotrooo89
28.02.2009, 12:16:32
a do
tego się zastosowałeś?
rumpelek
28.02.2009, 12:19:36
tak
przytocze aktualny kod testującego skryptu:
<?
include("dane.php");
die('Nie można się połączyć');
$pytam = "SELECT * FROM Niusy ";
if ($ile == 0)
{
echo "<br>pusto w bazie<br>";
}
else
{
echo "<br>NIE pusto w bazie<br>"; }
?>
piotrooo89
28.02.2009, 12:22:43
ale przecież to Ci chodzi... pokaż to co masz do wyświetlania.
rumpelek
28.02.2009, 14:43:35
no właśnie... no to w takim razie o co chodzi, że nie chodzi (sorki za sarkazm ale pada mi psycha już...)
strona spod adresu:
http://www.pspsepolno.rumpel.avx.plzostała przeniesiona na adres:
http://sepolno.kujawy.psp.gov.pljak widać wcześniej działa... teraz nie... nic nie grzebałem w plikach... poprostu totalcmd przerzuciłem z jednego serwa na drugi...
czyli co... nikt nie ma pomysłu ?
Spawnm
28.02.2009, 14:56:23
hmmm
a uzupełnij db.
html masz w db?
zobacz czy wszystkie ścieżki się zgadzają.
rzymek01
28.02.2009, 15:39:11
wrzuć na początku error_reporting(E_ALL);
być może na serwerach są różne wersje php
antyqjon
28.02.2009, 15:56:33
error_reporting to raz, a dwa:
<?php
?>
Ktoś tu czasem nie zapomniał o nawiasach przy wywołaniu mysql_error?

Bo jak na razie to skrypt sobie szuka tak nazwanej stałej
piotrooo89
28.02.2009, 15:58:04
o mój boże.... mój błąd

przepraszam bardzo...
rumpelek
28.02.2009, 16:57:46
na serwerach są dwie różne wersje php - pisałem o tym na początku (tak mi się wydaje)... na starym 4.4.9 na nowym: 5.2.1
mysql tez na starym jest 4.1.22 a na nowym: 5.0.22
rzymek01
28.02.2009, 17:43:32
no to masz na 99% w skrypcie klasy, które trzeba przerobić, aby działały na php5, błędy o tym możesz zobaczyć wpisując na początku pliku:
error_reporting(E_ALL | E_STRICT);
mike
28.02.2009, 17:47:17
Cytat(rzymek01 @ 28.02.2009, 17:43:32 )

(...) błędy o tym możesz zobaczyć wpisując na początku pliku:
error_reporting(E_ALL | E_STRICT);
Nieprawda. Wpis ten nie sprawi pokazania się błędów.
Polecenie to powoduje, że błędy zostaną raportowane ale do wyświetlania to ma się nijak.
Jeśli chcesz żeby błędy zostały raportowane i jednocześnie chcesz je widzieć to:
<?php
?>
rzymek01
28.02.2009, 17:48:51
no fakt, ale zawsze spotykałem się z serwarami gdzie ta opcja była domyślnie włączona
rumpelek
28.02.2009, 20:38:14
dodałem to do pliku index.php....
efekt
Notice: Undefined index: id in /misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/index.php on line 20
Notice: Undefined index: emaill in /misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/index.php on line 22
Notice: Undefined index: id in /misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/index.php on line 23
Warning: include(conn.php) [
function.include]: failed to open stream: No such file or directory in
/misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/php/link.php on line
3
Warning: include() [
function.include]: Failed opening 'conn.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in
/misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/php/link.php on line
3
Fatal error: Call to undefined function krowa() in /misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/php/top.php on line 7
ktoś wie o co lotto ?
erix
28.02.2009, 22:07:55
A nie stosujesz:
<?php
if($id)...
//zamiast
if($_GET['id'])
?>
?
Wygląda na to, jakbyś nie przerzucił wszystkich plików... Albo korzystasz z
include_path, czy czegoś w tym stylu...
Cytat
Trudnośc polega na tym, że nie mam możliwości dostępu do phpmyadmin.
A jaki problem doinstalować swoją kopię?
rzymek01
28.02.2009, 23:31:21
wszystkie inne oprócz tego:
Kod
[b]Fatal error[/b]: Call to undefined function krowa() in [b]/misc/edd88f6d:02a47426:8c206dba:a4e0b1f1/part0/sepolno/www/php/top.php[/b] on line [b]7[/b]
to ostrzeżenia i uwagi, które sa wazne, ale nie przerywają działania skryptu. Jednak ten powyższy to fatal error i wynika z niego, że plik top.php w 7 lini odwołuje się do niezdefiniowanej funkcji krowa
rumpelek
1.03.2009, 14:26:18
heh

funkcja krowa... to funkcja połączenia z baza danych... pliki są wszystkie w katalogach... wiec nie wiem co jest nie tak.
Spawnm
1.03.2009, 14:39:15
może to że plik z funkcją nie jest zincludowany?
popraw pliki by ci wszystko includowało i zobaczymy wtedy
rumpelek
1.03.2009, 17:01:28
ale po co jeśli wszystko działa na poprzednim serwerze ? tam inkluduje to i tu musi...
mi to podpada na coś ze ścieżkami... jakby plików nie widział pomimo, że są... ale coś może z ustawieniami ścieżki absolutnej czy coś w tym stylu...
Cytat
tam inkluduje to i tu musi...
Nie musi. Przeczytaj uważnie mojego poprzedniego posta.
rumpelek
2.03.2009, 08:07:08
używam czegoś takiego:
<?php
$sid = $_GET['id'];
?>
A masz możliwość wrzucenia całego listingu? Pokaż, jak wywołujesz skrypt.
rzymek01
2.03.2009, 14:54:31
chłopie, wszystko już było powiedziane, zobacz na swój kod i na pliki na ftp, może gdzieś masz ścieżki typu htto://localhost/.... albo D:/www/...
poszukaj w którym miejscu może być błąd includowania pliku conn.php, tak jak już było pisane, sprawdź include_path, albo uchyl kawałek swojego kodu, który includuje conn.php
rumpelek
2.03.2009, 14:56:59
hmm... z tego co mi admin powiedział, to php na serwerze ma wyłączone/ nie obsługuje includowania... można to jakoś włączyć ?
rzymek01
2.03.2009, 15:06:07

gdzie masz hosting?
php na pewno jest włączone
coś mi się nie widzi zablokowanie includowania, ale może użyj require ?

-> pokaż kawałek kodu odpowiadającego na wczytywanie pliku conn.php
piotrooo89
2.03.2009, 15:13:43
Cytat(rumpelek @ 2.03.2009, 14:56:59 )

z tego co mi admin powiedział, to php na serwerze ma wyłączone/ nie obsługuje includowania...
jeśli to jest prawda, wypierdziel taki hosting a adminowi powiedz żeby sobie w głowę puknął... podkreślam jeśli bo coś mi się nie chce wierzyć. pokaż jak includujesz.
rumpelek
2.03.2009, 21:52:25
emm... nie ma innej możliwości
serwer to jakiś EMBEDOS Ethernus... więc bym się nie zdziwił, że to zablokowane jest... choć też mi sie wierzyć nie chce...
rzymek01
3.03.2009, 15:29:21
pokazesz w końcu kod?
bez tego nie ma co dalej rozmawiać
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.