Woijtek338
18.06.2011, 16:10:56
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
18.06.2011, 16:47:50
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
18.06.2011, 17:11:08
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
18.06.2011, 18:16:49
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
$_SESSION['pathzdj'] = $path;
require_once 'iptc.php';
$z = new Image_IPTC($path);
$caption= $z->getTag('caption');
$objname= $z->getTag('object_name');
if($objname == '')
{
echo '<tr><td>Tytuł:</td><td> brak</td></tr>'; }else
{
echo '<tr><td>Tytuł:</td><td> '.$objname.'</td></tr>'; }
if($caption == '')
{
echo '<tr><td>Naglowek:</td><td> brak</td></tr>'; }else
{
echo '<tr><td>Naglowek: </td><td>'.$caption.'</td></tr>'; }
if(1 == 1)
{
echo '<form method="POST"><tr><td>Keywords: </td>'; }
Jak widzicie dalem 1==1 i co ? Idzie do elsa : / dlaczego : /?
toaspzoo
18.06.2011, 18:19:27
Działa na wszystkich, masz syf na kompie.
Do zamknięcia
drPayton
18.06.2011, 18:21:28
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
18.06.2011, 18:21:53
Bo
jeden jest równe
jedenPS. BB-code
Woijtek338
18.06.2011, 18:23:59
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
18.06.2011, 18:26:09
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
18.06.2011, 18:28:04
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
18.06.2011, 18:32:54
<?php
header('Content-Type: text/html; charset=utf-8');
if ($_SESSION['zalogowany'] == false){
header('Location: ./login.php'); }
$path= $_POST['zdj'];
$namezdjecia = explode("/", $_POST['zdj']); $dire = '../'.$namezdjecia[$el-2];
require_once('pel/peljpeg.php');
function loadwritedesc($file, $input_text){
$jpeg = new PelJpeg();
$jpeg->loadFile($file);
$app1 = $jpeg->getSection(PelJpegMarker::APP1);
$tiff = $app1->getTiff();
$ifd0 = $tiff->getIfd();
$exif = $ifd0->getSubIfd(PelTag::EXIF_IFD_POINTER);
// create and overwrite image_description tag and write the text
$describer = new PelEntryAscii(PelTag::XP_KEYWORDS, $input_text);
$ifd0->addEntry($describer);
file_put_contents($file, $jpeg->getBytes());
}
if($_POST['par'] == 1)
{
$_SESSION['pathzdj'] = $path;
require_once 'iptc.php';
$z = new Image_IPTC($path);
$caption= $z->getTag('caption');
$objname= $z->getTag('object_name');
if($objname == '')
{
echo '<tr><td>Tytuł:</td><td> brak</td></tr>'; }else
{
echo '<tr><td>Tytuł:</td><td> '.$objname.'</td></tr>'; }
if($caption == '')
{
echo '<tr><td>Naglowek:</td><td> brak</td></tr>'; }else
{
echo '<tr><td>Naglowek: </td><td>'.$caption.'</td></tr>'; }
if($edit[0] == 1)
{
echo '<form method="POST"><tr><td>Keywords: </td>'; }
$i = 0;
$keyword = $z->getTag('keywords', $i);
if($keyword == '')
{
echo '<td>brak</td></tr>'; if($edit[0] ==1)
{
<tr><td>Dodaj Tytul </td><td><input name="nzw" value=""></input></td></tr>
<tr><td>Dodaj podpis </td><td><input name="naglowek" value=""></input></td></tr>
<tr><td>Dodaj keywords[oddziel i ZAKONCZ (;)]</td><td> <input class="good" name="keywords" value=""></input></td></tr>';
echo'<tr ><td colspan="2"><input type="submit" name="zapiszkw" value="zapisz" /></td></tr>'; }} else{
while ($keyword) {
$i++;
echo '<tr><td>'.$i.'.</td><td> '.$keyword.'</td><tr>';
$str= $keyword.';'.$str;
$keyword = $z->getTag('keywords', $i);
//sekcja tworzenia tablicy keywords
}
if($edit[0] ==1)
{
echo '<tr><td>Dodaj Tytul</td><td> <input name="nzw" value="'.$objname.'"></input></td></tr> <tr><td>Dodaj podpis </td><td><input name="naglowek" value="'.$caption.'"></input></td></tr>
<tr><td>Dodajkeywords[oddziel i ZAKONCZ (;)]</td><td> <input class="good" name="keywords" value="'.$str.'"></input></td></tr>';
echo'<tr ><td colspan="2"><input type="submit" name="zapiszkw" value="zapisz" /></td></tr> </form>';
}
if($downlo[0] == 1)
{
echo '<form method="POST"><tr><td colspan="2"><input type="submit" name="pob" value="pobierz zdjęcie" /></td></tr></form>'; }
}$strgit = iconv("UTF-8","WINDOWS-1250",$str);
loadwritedesc($path,$strgit);
}
?>
Prosze

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
18.06.2011, 18:44:41
Pokazujesz nam hasło do bazy, jako zachęta?
wywal w przeglądarce $_SESSION
i sprawdź czy coś tam jest
Woijtek338
18.06.2011, 18:49:00
Dzieki

w sesji jest duzo rzeczy . . . ale to raczej nie powiazane
mortus
18.06.2011, 18:50:04
Przed if-em wyświetl sobie zawartość $edit[0]:
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
18.06.2011, 18:51:15
echuje , daje 1 .
ale tak jak mowie, probowalem zrobic 1==1 i fox nie przepuscil : /
mortus
18.06.2011, 18:55:34
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
18.06.2011, 19:05:43
Cytat(Woijtek338 @ 18.06.2011, 19:49:00 )

Dzieki

w sesji jest duzo rzeczy . . . ale to raczej nie powiazane
Co nie powiązane?
a to co to jest?
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ę

Step I
Step II
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.