Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Na localu działa a na serwerze nie...
filip.wil
post 6.01.2008, 20:38:42
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


Witam. Przeczytałem temat o najczęstszych błędach i ten błąd jest tam opisany, jednak nie wiem jak go poprawić w tym przypadku:
  1. <?php
  2. if(isset($_GET['newsy']) && $_GET['newsy']=='czytajkom' && isset($_GET['id']))
  3. {
  4. $id=$_GET['id'];
  5. $link=mysql_query("SELECT * FROM komentarze WHERE news_id='$id' ORDER BY news_id DESC");
  6. while($wiersz=mysql_fetch_row($link))
  7. {
  8.  
  9. echo "data: $wiersz[2]<br />";
  10. echo "temat: $wiersz[3]<br />";
  11. echo "treść: $wiersz[4]<br />";
  12. echo "autor: $wiersz[5]";
  13. echo "(ip: $wiersz[6])<br />";
  14. if(isset($_SESSION['admin']) && $_SESSION['admin']==ok){
  15. echo "<a href=index.php?newsy=edytujkom&id=$wiersz[0]&newsid=$wiersz[1]>edytuj</a> - <a href=index.php?newsy=usunkom>usuń</a>";}
  16. echo "<hr size=1 width=40%><br />";
  17. }
  18. echo '<a href="index.php">powrót</a>';
  19. }
  20. ?>

Nie działają też inne rzeczy związane z komentarzami :/ [dane do tabelek dodają się, lecz nic się nie wyświetla...]
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
aiv
post 6.01.2008, 21:48:35
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 13
Dołączył: 7.09.2006

Ostrzeżenie: (0%)
-----


I no errors/warning?
Może masz wyłączone pokazywanie błędów?
Czy zdiagnozowałeś _dokładnie_ który fragment kodu nie działa?


--------------------
Mariusz Dalewski
Aiv's dev blog
Go to the top of the page
+Quote Post
empathon
post 6.01.2008, 21:49:13
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


Co dokładniej nie działa w powyższym kodzie?
Jakieś błędy?

  1. <?php
  2. ?>


Co do innych błędów to nikt tu nie stawia tarota - pokaż kod.

Ten post edytował empathon 6.01.2008, 21:51:46


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
filip.wil
post 6.01.2008, 22:49:34
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


Ok, sorry za niedokładność.

Zrobiłem sobie stronę: filipscms.yoyo.pl (możecie sprawdzić dodając komenta - nie pokaze się on pod newsem, a liczba komentarzy nie zmieni się) . Nie działają tam komentarze (nie wyświetla się ich liczba, i po kliknięciu, żeby przeczytać komentarze pod newsem nie wyświetlają się). Nie działa ten fragment
  1. <?php
  2. if(isset($_GET['newsy']) && $_GET['newsy']=='czytajkom' && isset($_GET['id']))
  3. {
  4. $id=$_GET['id'];
  5. $link=mysql_query("SELECT * FROM komentarze WHERE news_id='$id' ORDER BY news_id DESC");
  6. while($wiersz=mysql_fetch_row($link))
  7. {
  8.  
  9. echo "data: $wiersz[2]<br />";
  10. echo "temat: $wiersz[3]<br />";
  11. echo "treść: $wiersz[4]<br />";
  12. echo "autor: $wiersz[5]";
  13. echo "(ip: $wiersz[6])<br />";
  14. if(isset($_SESSION['admin']) && $_SESSION['admin']==ok){
  15. echo "<a href=index.php?newsy=edytujkom&id=$wiersz[0]&newsid=$wiersz[1]>edytuj</a> - <a href=index.php?newsy=usunkom>usuń</a>";}
  16. echo "<hr size=1 width=40%><br />";
  17. }
  18. echo '<a href="index.php">powrót</a>';
  19. }
  20. ?>

i ten:
while($wiersz2=mysql_fetch_row($link2))

  1. <?php
  2. {$newsnr=$wiersz2[0];
  3.  $liczbakomdb=mysql_query("SELECT * FROM komentarze WHERE news_id='$id' ORDER BY id");
  4.  $liczbakom=mysql_num_rows($liczbakomdb);
  5.  echo "<div align='center'><font size='4'> $wiersz2[2] </font></div>";
  6.  echo "<div align='left'><font size='1'> $wiersz2[3]</font></div><br /></div>";
  7.  echo "<div align='left'>data dodania: $wiersz2[1] </div>";
  8.  echo "<div align='left'>autor: $wiersz2[4] </div>";
  9.  echo "<a href=index.php?newsy=komentuj&id=$wiersz2[0]>komentuj</a> - ";
  10.  echo "<a href=index.php?newsy=czytajkom&id=$wiersz2[0]>czytaj komentarze($liczbakom)</a> - ";
  11.  if(isset($_SESSION['admin']) && $_SESSION['admin']=='ok'){
  12.  echo "<a href=index.php?newsy=edytuj&id=$wiersz2[0]>edytuj</a> - ";
  13.  echo "<a href=index.php?newsy=usun&id=$wiersz2[0]>usuń</a>";}
  14.  echo "<hr size=1 width=95%><br />";}
  15. ?>

a dokładnie zmienna $liczbakom
Cały system komentarz nie działa w sumie. Co najdziwniejsze wszystko na localhoscie działa, a na serwerze yoyo.pl już nie. Znajomy powiedział, że to nie wina kodu, bo wszystko jest ok wg niego. Ciekawe...
Go to the top of the page
+Quote Post
aiv
post 6.01.2008, 22:58:25
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 13
Dołączył: 7.09.2006

Ostrzeżenie: (0%)
-----


Dodaj sobie zamiast
  1. <?php
  2. $link=mysql_query("SELECT * FROM komentarze WHERE news_id='$id' ORDER BY news_id DESC");
  3. ?>


to:
  1. <?php
  2. $link=mysql_query("SELECT * FROM komentarze WHERE news_id='$id' ORDER BY news_id DESC") or die(mysql_error());
  3. ?>


i zobacz co sie stanie.


--------------------
Mariusz Dalewski
Aiv's dev blog
Go to the top of the page
+Quote Post
filip.wil
post 6.01.2008, 23:06:30
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


aiv, nic się nie stało, nie ma różnicy. Zastąpiłem tak jak mówiłeś. Wersja zmieniona pod adresem filipscms.yoyo.pl - jak widać bez różnicy. Może to ma coś wspólnego z tym?:
"10. Na localu działa a na serwerze nie... (by nospor)
Często takie zdanie słyszymy, gdy ktoś próbuje dobrać się do parametru w linku poprzez $zmienna a nie $_GET['zmienna']. Podobnie z formularzem przesyłanem postem. Zamiast pisać $_POST['zmienna'] piszą $zmienna. Konstrukcję $zmienna można stosować gdy włączone jest register_globals. Ale należy tego unikać gdyż jest to niebezpieczna praktyka i hostingi coraz częściej to wyłączają. Podsumowując:"
Go to the top of the page
+Quote Post
aiv
post 6.01.2008, 23:12:03
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 13
Dołączył: 7.09.2006

Ostrzeżenie: (0%)
-----


Kod który przedstawiłeś może mieć problemy z przenoszeniem wyłącznie w kilku przypadkach:
- mysql_* - na serwerze nie ma/nie działa poprawnie/jest źle skonfigurowana obsługa połączenia do bazy danych
- $_SESSION - mogą nie działać poprawnie sesje
- możesz mieć inna bazę danych albo inne dane w niej zawarte

Kod Twój nie jest zaskomplikowany, a więc może sam problem leży gdzie indziej jak nie w ww.


--------------------
Mariusz Dalewski
Aiv's dev blog
Go to the top of the page
+Quote Post
filip.wil
post 6.01.2008, 23:19:03
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


Cytat(aiv @ 6.01.2008, 23:12:03 ) *
Kod który przedstawiłeś może mieć problemy z przenoszeniem wyłącznie w kilku przypadkach:
- mysql_* - na serwerze nie ma/nie działa poprawnie/jest źle skonfigurowana obsługa połączenia do bazy danych
- $_SESSION - mogą nie działać poprawnie sesje
- możesz mieć inna bazę danych albo inne dane w niej zawarte

Kod Twój nie jest zaskomplikowany, a więc może sam problem leży gdzie indziej jak nie w ww.

1. Chyba nikt nie miał takich problemów z yoyo?
2. Na localhoscie wszystko śmiga. Sesje, baza, wszystko.
3. Mam napisany skrypt, który sam dodaje mi tabelki, jeśli ich nie ma. Wszystko robi się automatycznie. Przez phpmadmin sprawdzałem i wszystko jest na swoim miejscu. Nawet komentarze są dodane. Coś musi się dziać przy pobieraniu z bazy danych. Newsy są bardzo podobnie napisane i wszystko działa...
Go to the top of the page
+Quote Post
uli
post 7.01.2008, 08:22:38
Post #9





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

Ostrzeżenie: (0%)
-----


Daj strukturę bazy i kawałek kodu, który zapisuje komentarze.


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
filip.wil
post 7.01.2008, 13:24:33
Post #10





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


Struktura komentarzy:
  1. <?php
  2. $db_host="***"; //adres serwera bazy
  3. $db_user="***";
  4. $db_pass="***";
  5. $db_mdb="***";//nazwa bazy danych
  6.  
  7. $baza = mysql_connect($db_host,$db_user,$db_pass);
  8. $seldb = mysql_select_db($db_mdb);
  9.  
  10.  
  11.  
  12. $query2 = 'CREATE TABLE komentarze
  13. (id INT NOT NULL AUTO_INCREMENT,
  14.  news_id INT NOT NULL,
  15.  data DATETIME NOT NULL,
  16.  temat VARCHAR( 50 ) NULL ,
  17.  tresc LONGTEXT NOT NULL,
  18.  autor VARCHAR(20),
  19.  ip VARCHAR(16),
  20. PRIMARY KEY(`id`)
  21. ) TYPE=MyISAM';
  22. mysql_query($query2);
  23. ?>


Skrypt dodający komentarze:
  1. <?php
  2. if(isset($_GET['newsy']) && $_GET['newsy']=='komentuj' && isset($_GET['id']))
  3. {
  4. $link=mysql_query("SELECT * FROM news WHERE news_id='$id'");
  5. $wiersz=mysql_fetch_array($link);
  6.  
  7. echo '<b>DODAJ NOWY KOMENTARZ</b><br>';
  8. echo '<form method="POST" action="index.php?newsy=wstawkomenta&id='.$wiersz['news_id'].'">
  9. <table border="0" width="100%">
  10. <tr>
  11. <td>Temat:</td>
  12. <td><input type="text" name="temat" size="64"></td>
  13. </tr>
  14. <tr>
  15. <td>Autor:</td>
  16. <td><input type="text" name="autor" size="64"></td>
  17. </tr>
  18. <tr>
  19. <td>Treść: </td>
  20. <td><textarea rows="5" name="tresc" cols="42"></textarea></td>
  21. </tr>
  22. <tr>
  23. <td><input type="submit" value="DODAJ"></td>
  24. </tr>
  25. </table>
  26. </form>';
  27.  }
  28.  
  29. if(isset($_GET['newsy']) && $_GET['newsy']=='wstawkomenta' && isset($_GET['id']))
  30. {
  31. $temat=$_POST['temat'];
  32. $tresc=$_POST['tresc'];
  33. $autor=$_POST['autor'];
  34. $data = 'now()'; //$data = date("Y-m-d H:i:s");
  35. $ip=$_SERVER[REMOTE_ADDR];
  36. $id=$_GET['id'];
  37. mysql_query("INSERT INTO komentarze VALUES('','$id',$data,'$temat','$tresc','$autor','$ip')");
  38. echo 'Pomyślnie dodałem komentarza o tytule: <b>'.$temat.'</b><br /> i o treści: <b>'.$tresc.'<br /><a href="index.php">powrót do strony głównej</a>';
  39. echo "<br /></b><br /><br /><br /><br />";
  40. }
  41. ?>
Go to the top of the page
+Quote Post
uli
post 7.01.2008, 14:29:29
Post #11





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

Ostrzeżenie: (0%)
-----


Daj zamiast mysql_fetch_row instrukcję mysql_fetch_array

Reszta bez zmian.

A jednak - dla pewności:
zamiast indeksów w zmiennej $wiersz w nawiasach [] daj nazwy pól np. $wiersz[0] = $wiersz['id']

Ten post edytował uli 7.01.2008, 14:33:33


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
filip.wil
post 7.01.2008, 21:29:41
Post #12





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.09.2007

Ostrzeżenie: (0%)
-----


Teraz jest tak:
  1. <?php
  2. if(isset($_GET['newsy']) && $_GET['newsy']=='czytajkom' && isset($_GET['id']))
  3. {
  4. $id=$_GET['id'];
  5. $link=mysql_query("SELECT * FROM komentarze WHERE news_id='$id' ORDER BY news_id DESC") or die(mysql_error());
  6. while($wiersz=mysql_fetch_array($link))
  7. {
  8.  
  9. echo "data: $wiersz[data]<br />";
  10. echo "temat: $wiersz[temat]<br />";
  11. echo "treść: $wiersz[tresc]<br />";
  12. echo "autor: $wiersz[autor]";
  13. echo "(ip: $wiersz[ip])<br />";
  14. if(isset($_SESSION[admin]) && $_SESSION['admin']==ok){
  15. echo "<a href=index.php?newsy=edytujkom&id=$wiersz[0]&newsid=$wiersz[1]>edytuj</a> - <a href=index.php?newsy=usunkom>usuń</a>";}
  16. echo "<hr size=1 width=40%><br />";
  17. }
  18. echo '<a href="index.php">powrót</a>';
  19. }
  20. ?>

Nadal na localu działa, a na serwie nie... Wygląda to tak, jakby warunek nie był spełniony. Ale skoro na localu działa?
Go to the top of the page
+Quote Post
potreb
post 7.01.2008, 22:10:12
Post #13





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A na jakim serwie testujesz?? na yoyo? cba? może wyskakują jakieś błędy?

A na yoyo.
No to masz problem, ale wg mnie to przez isset. Spróbuj skonstruować to jakoś inaczej, może używając case:

Jak dla mnie masz źle skonstruowane, zapytania: m.in to: do czego ci to?
  1. <?php
  2. $link=mysql_query("SELECT * FROM news WHERE news_id='$id'");
  3. $wiersz=mysql_fetch_array($link);
  4. ?>


Ten post edytował potreb 7.01.2008, 22:24:40


--------------------

Go to the top of the page
+Quote Post
dadexix
post 7.01.2008, 22:20:06
Post #14





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


albo może empty" title="Zobacz w manualu PHP" target="_manual zamiast isset" title="Zobacz w manualu PHP" target="_manual


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
gosienkami
post 8.01.2008, 09:01:08
Post #15





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


stronka na localhst działa a na yoyo.pl nie
wyskakuje mi bład mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/g/o/gosiek/pasek.php on line 8

pasek php
  1. <?php
  2.  
  3.  $catsql = "SELECT * FROM kategorie;";
  4.  $catres = mysql_query($catsql);
  5.  
  6.  while($catrow = mysql_fetch_array($catres))
  7.  {
  8. echo "<li><a href='" . $config_basedir . "/produkty.php?id=" . $catrow['id'] . "'>" . $catrow['nazwa_kat'] . "</a></li>";
  9.  }
  10. ?>



plik konf

[php]

<?php

$dbhost = "mysql3.yoyo.pl";
$dbuser = "";//**
$dbpassword = "";//***
$dbdatabase = "sklep";

$config_basedir = "http://nazwa.yoyo.pl/";

?>
Go to the top of the page
+Quote Post
--xxx--
post 8.01.2008, 09:16:44
Post #16





Goście







A ze tak spytam - zalozyles tabele na serwerze?
Go to the top of the page
+Quote Post
gosienkami
post 8.01.2008, 09:52:56
Post #17





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


cała baze sklep mam na serwerze a co?>
Go to the top of the page
+Quote Post
potreb
post 8.01.2008, 10:20:38
Post #18





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


zmień:
  1. <?php
  2. $catsql = "SELECT * FROM kategorie;";
  3. ?>


na:
  1. <?php
  2. $catsql = "SELECT * FROM kategorie";
  3. ?>


--------------------

Go to the top of the page
+Quote Post
gosienkami
post 8.01.2008, 11:03:48
Post #19





Grupa: Zarejestrowani
Postów: 305
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


tak samo nadal nie działa:(
Go to the top of the page
+Quote Post
loff
post 8.01.2008, 11:14:41
Post #20





Grupa: Zarejestrowani
Postów: 39
Pomógł: 15
Dołączył: 21.03.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(gosienkami @ 8.01.2008, 11:03:48 ) *
tak samo nadal nie działa:(

Opisać problem to kolezanka umie biggrin.gif

otworzyłem sobie http://www.gosiek.yoyo.pl/pasek.php i widze takie coś

  1. Warning: mysql_query() [FUNCTION.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/sites/yoyo.pl/g/o/gosiek/pasek.php on line 6
  2.  
  3. Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/sites/yoyo.pl/g/o/gosiek/pasek.php on line 6
  4.  
  5. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/g/o/gosiek/pasek.php on line 8


pytanie brzmi teraz czy plik jest includowany do innego gdzie jest połaczenie z baza czy....

anyways: cos jest nie tak ale nie wydaje sie to być na skutek tego kawałka kodu co podałas. Pokaz moze ten gdzie sie łaczysz z baza...
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:15