Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] nie działa if pod FF
Forum PHP.pl > Forum > Przedszkole
Woijtek338
Witam! Mam nastepujacy problem. Mam skrypt ktory wyciaga z bazy pewna wartosc (0 lub 1) a nastepnie wyswietla dane jesli jest 1.
$edit = mysql_result(mysql_query("SELECT edit FROM users WHERE name='".$_SESSION['login']."'"),0,0);
.
.
if($edit == 1)
.
.
.

I teraz problem:
Wszystko działa pod IE i pod chromem, natomiast firefox sobie z tym nie radzi. Jeśli wartosc $edit jest = 1 to przechodzi do elsa. Dlaczego ? Problem z kodowaniem ?
Prosze o pomoc
Pozdrawiam
wookieb
1) A gdzie ty tutaj widzisz jakiekolwiek miejsce do zależności pomiędzy przeglądarką a twoim kodem?
2) Daj pełniejszy kod
toaspzoo
Jak dla mnie, to temat do zamknięcia.

Interpretacja kodu to robota silnika php "wbudowanego" w serwer.
To, że na firefoxie Ci nie działa to zasługa jakiegoś syfu na komputerze.
Woijtek338
Testowalem nie tylko u siebie. dziwne jest ze jak dam $edit == 0 to przepuszcza . . . tak jakby 1 nie bylo rowne 1 , przypominam, na innych normalnie. . .

co tu wiecej kodu dawac? To wlasciwie calosc

dodam ze w tej najnowszej wersji ff , dziala :/tylko starsze (ktora ma wiekszosc ludzi) jest lipa

  1. $downlo = mysql_fetch_array(mysql_query("SELECT download FROM users WHERE name='".$_SESSION['login']."'"));
  2. $edit = mysql_fetch_array(mysql_query("SELECT edit FROM users WHERE name='".$_SESSION['login']."'"));
  3. echo $edit[0];
  4. $_SESSION['pathzdj'] = $path;
  5. require_once 'iptc.php';
  6. $z = new Image_IPTC($path);
  7. $caption= $z->getTag('caption');
  8. $objname= $z->getTag('object_name');
  9. if($objname == '')
  10. {
  11. echo '<tr><td>Tytuł:</td><td> brak</td></tr>';
  12. }else
  13. {
  14. echo '<tr><td>Tytuł:</td><td> '.$objname.'</td></tr>';
  15. }
  16. if($caption == '')
  17. {
  18. echo '<tr><td>Naglowek:</td><td> brak</td></tr>';
  19. }else
  20. {
  21. echo '<tr><td>Naglowek: </td><td>'.$caption.'</td></tr>';
  22. }
  23. if(1 == 1)
  24. {
  25. echo '<form method="POST"><tr><td>Keywords: </td>';
  26. }


Jak widzicie dalem 1==1 i co ? Idzie do elsa : / dlaczego : /?
toaspzoo
Działa na wszystkich, masz syf na kompie.

Do zamknięcia
drPayton
Cytat(Woijtek338 @ 18.06.2011, 19:16:49 ) *
(...)
Jak widzicie dalem 1==1 i co ? Idzie do elsa : / dlaczego : /?


A ja nie widzę, żeby tam, gdzie masz 1==1 był jakikolwiek else...
toaspzoo
Bo jeden jest równe jeden

PS. BB-code exclamation.gif
Woijtek338
tak wiem ze nie ma elsa, ogolnie nie wykonuje tego ifa. Mowie Ci czlowieku ze na kilku komputerach jest to samo:)

tak 1 jest rowne 1 wiec powinno wyswietlic echo , a nie wyswietla. Chrom i IE dziala.
drPayton
Ok, skoro tak mówisz, to może i tak jest. Ale wina nie leży po stronie skryptu, bo nie ma on nic wspólnego z przeglądarką, jako iż wykonywany jest całkowicie po stronie serwera. Juz kilkukrotnie w tym temacie Ci to tłumaczyli.
Temat do zamknięcia, problem leży po stronie Twojej przeglądarki, a nie skryptu...
mortus
Ale czemu <form> jest pomiędzy wierszami tabeli </tr> i <tr>? Tak być nie może i może właśnie to powoduje Twoje problemy. Gdzie Ty tabelę otwierasz <table>, gdzie zamykasz </table> i gdzie zamykasz ostatni wiersz </tr>. Wklej tutaj cały kod, bo inaczej nikt Cię nie zrozumie.
Woijtek338
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3.  
  4. if ($_SESSION['zalogowany'] == false){
  5. header('Location: ./login.php');
  6. }
  7. $path= $_POST['zdj'];
  8. $namezdjecia = explode("/", $_POST['zdj']);
  9. $el=count($namezdjecia);
  10. $dire = '../'.$namezdjecia[$el-2];
  11.  
  12. require_once('pel/peljpeg.php');
  13.  
  14. function loadwritedesc($file, $input_text){
  15. $jpeg = new PelJpeg();
  16. $jpeg->loadFile($file);
  17.  
  18. $app1 = $jpeg->getSection(PelJpegMarker::APP1);
  19. $tiff = $app1->getTiff();
  20. $ifd0 = $tiff->getIfd();
  21. $exif = $ifd0->getSubIfd(PelTag::EXIF_IFD_POINTER);
  22. // create and overwrite image_description tag and write the text
  23. $describer = new PelEntryAscii(PelTag::XP_KEYWORDS, $input_text);
  24. $ifd0->addEntry($describer);
  25. file_put_contents($file, $jpeg->getBytes());
  26.  
  27. }
  28. echo '<table>';
  29. if($_POST['par'] == 1)
  30. {
  31.  
  32. $downlo = mysql_fetch_array(mysql_query("SELECT download FROM users WHERE name='".$_SESSION['login']."'"));
  33. $edit = mysql_fetch_array(mysql_query("SELECT edit FROM users WHERE name='".$_SESSION['login']."'"));
  34.  
  35. $_SESSION['pathzdj'] = $path;
  36. require_once 'iptc.php';
  37. $z = new Image_IPTC($path);
  38. $caption= $z->getTag('caption');
  39. $objname= $z->getTag('object_name');
  40. if($objname == '')
  41. {
  42. echo '<tr><td>Tytuł:</td><td> brak</td></tr>';
  43. }else
  44. {
  45. echo '<tr><td>Tytuł:</td><td> '.$objname.'</td></tr>';
  46. }
  47. if($caption == '')
  48. {
  49. echo '<tr><td>Naglowek:</td><td> brak</td></tr>';
  50. }else
  51. {
  52. echo '<tr><td>Naglowek: </td><td>'.$caption.'</td></tr>';
  53. }
  54. if($edit[0] == 1)
  55. {
  56. echo '<form method="POST"><tr><td>Keywords: </td>';
  57. }
  58. $i = 0;
  59. $keyword = $z->getTag('keywords', $i);
  60. if($keyword == '')
  61. {
  62. echo '<td>brak</td></tr>';
  63. if($edit[0] ==1)
  64. {
  65.  
  66. <tr><td>Dodaj Tytul </td><td><input name="nzw" value=""></input></td></tr>
  67. <tr><td>Dodaj podpis </td><td><input name="naglowek" value=""></input></td></tr>
  68. <tr><td>Dodaj keywords[oddziel i ZAKONCZ (;)]</td><td> <input class="good" name="keywords" value=""></input></td></tr>';
  69.  
  70. echo'<tr ><td colspan="2"><input type="submit" name="zapiszkw" value="zapisz" /></td></tr>';
  71. }} else{
  72. while ($keyword) {
  73. $i++;
  74.  
  75. echo '<tr><td>'.$i.'.</td><td> '.$keyword.'</td><tr>';
  76.  
  77. $str= $keyword.';'.$str;
  78. $keyword = $z->getTag('keywords', $i);
  79.  
  80.  
  81. //sekcja tworzenia tablicy keywords
  82.  
  83.  
  84. }
  85. if($edit[0] ==1)
  86. {
  87. echo '<tr><td>Dodaj Tytul</td><td> <input name="nzw" value="'.$objname.'"></input></td></tr>
  88. <tr><td>Dodaj podpis </td><td><input name="naglowek" value="'.$caption.'"></input></td></tr>
  89. <tr><td>Dodajkeywords[oddziel i ZAKONCZ (;)]</td><td> <input class="good" name="keywords" value="'.$str.'"></input></td></tr>';
  90.  
  91. echo'<tr ><td colspan="2"><input type="submit" name="zapiszkw" value="zapisz" /></td></tr>
  92. </form>';
  93. }
  94. if($downlo[0] == 1)
  95. {
  96. echo '<form method="POST"><tr><td colspan="2"><input type="submit" name="pob" value="pobierz zdjęcie" /></td></tr></form>';
  97. }
  98. }$strgit = iconv("UTF-8","WINDOWS-1250",$str);
  99. loadwritedesc($path,$strgit);
  100. echo '</table>';
  101. }
  102. ?>


Prosze smile.gif
Prosze o pomoc,bo naprawde juz nie wiem o co chodzi : / tak jak mowie na mozilli 3 nie dziala mozilla 4 idzie, jakby ktos mial watpliwosci to jest to kod strony ajaxa
Daimos
Pokazujesz nam hasło do bazy, jako zachęta?

wywal w przeglądarce $_SESSION
  1. var_dump($_SESSION)
i sprawdź czy coś tam jest
Woijtek338
Dzieki smile.gif w sesji jest duzo rzeczy . . . ale to raczej nie powiazane
mortus
Przed if-em wyświetl sobie zawartość $edit[0]:
  1. echo $edit[0];
  2. if($edit[0] == 1) {


Ogólnie to "straszny" ten Twój kod jest - nieczytelny i nieestetyczny, taki miszmasz. Znaczniki HTML poplątane, formularz w formularzu, jakieś wymyślone znaczniki </input>.
Woijtek338
echuje , daje 1 .
ale tak jak mowie, probowalem zrobic 1==1 i fox nie przepuscil : /
mortus
To wypróbuj var_dump($edit[0]). Może to nie jest 1, a " 1" lub "1 ". Oczywiście to będzie oznaczać, że źle przechowujesz dane w bazie danych.

EDIT
Ale w ogóle o czym my tu piszemy. To czy if zadziała, czy nie, nie zależy od przeglądarki. Na pewno wywołujesz ten sam skrypt?
Daimos
Cytat(Woijtek338 @ 18.06.2011, 19:49:00 ) *
Dzieki smile.gif w sesji jest duzo rzeczy . . . ale to raczej nie powiazane

Co nie powiązane?
a to co to jest?
  1. $edit = mysql_fetch_array(mysql_query("SELECT edit FROM users WHERE name='".$_SESSION['login']."'"));

Czekaj czekaj, bo muszę wysilić wzrok....... tak, to jest pobierany login z $_SESSION i jeśli go nie ma, to zmienna $edit jest pusta... czy się mylę? A problem jest w tym, że zmienna $edit robi problem z ifem? A może przeglądarka Ci gubi sesję? Popraw mnie jeśli źle piszę wink.gif
Step I
  1. var_dump($_SESSION['login']); die();

Step II
  1. var_dump($edit ); die();


Naucz się (chociaż byle jak) debugować kod krok po kroku
np. Zamiast mysql_query() rób mysql_query() or die(mysql_error());
Poczytaj sobie manuala:
Exceptions
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.