Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] // i / w linkach
Forum PHP.pl > Forum > Przedszkole
Kshyhoo
To zaś ja ;p Może mi ktoś mądry wytłumaczyć, dlaczego na localu mam w adresie /graf2/blue.png a po przeniesieniu na serwer zewnętrzny //graf2//blue.png a najważniejsze, co jest za to winne i jak temu zaradzić?
MicNeo
Coś więcej. Jakiś kod, link. Cokolwiek winksmiley.jpg
Kshyhoo
Oto kod:
  1. <?php
  2. echo("<img src='graf2/sklej02.php?obraz1=$_POST[obraz1]&obraz2=$_POST[obraz2]'>");
  3. ?>
erix
A całej strony?

Bo niby nie widać tu niczego niepoprawnego?
Kshyhoo
No ja właśnie też. Mam hosting na webd.pl i ktoś mi powiedział, że oni mają poprzedzanie ukośnikami zmiennych w linkach...
erix
A nie masz włączonego magic_quotes?

Na webd jest Suhosin, nie pamiętam, czy to nie z jego powodu...
Kshyhoo
Nic takiego nie mogę znaleźć. Czekam na wiadomość od admina...
Kshyhoo
Coś w tym jest:
Cytat
Directive
magic_quotes_gpc - On
magic_quotes_runtime - Off
magic_quotes_sybase - Off


PS. Może to być spowodowane różnicą w wersji PHP? U siebie mam 5, webd.pl, a 4...
erix
Kod
magic_quotes_gpc - On

To to zmień.

Cytat
PS. Może to być spowodowane różnicą w wersji PHP? U siebie mam 5, webd.pl, a 4...

Zależy od kodu.
Kshyhoo
No przecież to nie jest zbyt wyszukany kod, choć różnica między $POST a $_POST tongue.gif
Szanowny Pan Admin odpowiedział, ale chyba mało fachowo:
Cytat
byc moze wynika to z innych ustawien serwera, trudno nam to w tej chwili ocenic.

I bez tego to wiem. Mam wrażenie, że ostatnio otaczają mnie ludzie, którzy za wszelką cenę chcą mi !niepomóc ;p
erix
Webd jest raczej low-endowy, to wiesz...

Po wyłączeniu MQ to samo?
Kshyhoo
W pliku .htaccess znalazłem takie cudo:
Cytat
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]

Może to mam "popsuć"?
MicNeo
  1. <?php
  2. echo '<img src="graf2/sklej02.php?obraz1=' . $_GET['obraz1'] . '&obraz2=' . $_GET['obraz2'] . '" />';
  3. ?>


Dziwne. Włączyłem z ciekawości u siebie MQ i normalnie wsyzstko śmiga. Sprawdź czy to co zamieściłem coś zmieni.

Pozdrawiam!

EDIT: Najlepiej wywal to i sprawdź czy cos to zmieni winksmiley.jpg
Fifi209
Nikt wcześniej nie zauważył?

Kod
echo("<img src='graf2/sklej02.php?obraz1=$_POST[obraz1]&obraz2=$_POST[obraz2]'>");


$_POST[obraz1]
Ma być przecież: $_POST['obraz1']


@topic
Najlepiej zrób jak pan @up pokazuje haha.gif
MicNeo
fifi209: Wydaje mi się, że to nie ma znaczenia. U mnie obie metody działają (ale może to być zależne od ustawień serwera!). W każdym bądź razie, moja wersa wydaje mi się bardziej przejrzysta smile.gif
Spawnm
fifi209 bez ciapek też zadziała , jednak jeśli dajemy tablice w echo "" warto je dawać w { } co by nie było problemu smile.gif
np echo "twoje imie: {$_POST["imie"]} <br/>";
Kshyhoo
Wycięcie RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC] z pliku .htaccess nic nie dało, tak jak umieszczenie wpisu php_flag magic_quotes_gpc off.

@fifi209
Wersja z ciapkami nie działa wogóle winksmiley.jpg

Cytat
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
MicNeo
Nawiasu nie zamknąłem, dlatego ci nie działalo.

EDIT:
Znalezione na szybko w manualu:
  1. <?php
  2.    function stripslashes_deep($value)
  3.    {
  4.        $value = is_array($value) ?
  5.                    array_map('stripslashes_deep', $value) :
  6.                    stripslashes($value);
  7.  
  8.        return $value;
  9.    }
  10.  
  11.    $_POST = array_map('stripslashes_deep', $_POST);
  12.    $_GET = array_map('stripslashes_deep', $_GET);
  13.    $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
  14.    $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
  15. }
  16. ?>


Sprawdź, może pomoże.
Kshyhoo
Sam go domknąłem. Po za tym, zdaje mi się, że to problem, w jaki sposób ta zmienna jest wywołana. Poruszyłem ten problem na forum, ale wątek mi zamknęli i jeszcze nazwali leniem ;p
Może wspomnę, mam formularz w kilku krokach, w jednym z nich inkluduję plik, gdzie właśnie linkuję plik do obrazka:

  1. <?php
  2. if (isset($_POST['krok']) && $_POST['krok'] == "1") {
  3.  
  4. echo "<form name='generator' action='".basename($_SERVER['PHP_SELF'])."' method='POST' onSubmit='return testuj(this);'>";
  5. echo "<input type='submit' name='dalej1' value='Idź dalej'></form><br />";
  6.  
  7. } elseif (isset($_POST['krok']) && $_POST['krok'] == "2") {
  8.  
  9. include('krok2.php');
  10.  
  11. echo "<form name='generator' action='".basename($_SERVER['PHP_SELF'])."' method='POST' onSubmit='return checkRadios(this);'>";
  12. echo "<input type='submit' name='dalej2' value='Idź dalej'></form>";
  13.  
  14. } elseif (isset($_POST['krok']) && $_POST['krok'] == "3") {
  15.  
  16. include('krok3.php'); // w tym pliku odbieram zmienną $kolor1, $kolor2...
  17.  
  18. echo "<input type='submit' name='dalej3' value='Idź dalej'></form>";
  19.  
  20. } elseif (isset($_POST['krok']) && $_POST['krok'] == "4") {
  21.  
  22. echo "<form name='generator' action='".basename($_SERVER['PHP_SELF'])."' method='POST'>";
  23. echo "<input type='submit' name='dalej' value='Idź dalej'></form>";
  24. ?>

krok3.php - wersja działająca na lokalu
  1. <?php
  2. switch ($sklej) {
  3.    case 'p01':
  4.             $obraz1  = ($url."/graf2/".$_POST['kolor1'].".png");
  5.            echo "<img src='$obraz1'>";
  6.    break;
  7.    case 'p02':
  8.             $obraz1  = ($url."/graf2/".$_POST['kolor1'].".png");
  9.            $obraz2  = ($url."/graf2/".$_POST['kolor2'].".png");
  10.            $_POST['obraz1']  = $obraz1;
  11.            $_POST['obraz2']  = $obraz2;
  12.            echo("<img src='graf2/sklej02.php?obraz1=$_POST[obraz1]&obraz2=$_POST[obraz2]'>");
  13.    break;
  14. }
  15. ?>
MicNeo
  1. <?php
  2. $obraz1  = ($url."/graf2/".$_POST['kolor1'].".png");
  3.           $obraz2  = ($url."/graf2/".$_POST['kolor2'].".png");
  4.           $_POST['obraz1']  = $obraz1;
  5.           $_POST['obraz2']  = $obraz2;
  6. ?>


Jaki jest sens tego? Najpierw tworzysz zmienne $obraz1 i $obraz2, potem podstawiasz to samo pod nową zmienną? Po co?

Daj tak:
  1. <?php
  2. $obraz1  = ($url."/graf2/".$_POST['kolor1'].".png");
  3.            $obraz2  = ($url."/graf2/".$_POST['kolor2'].".png");
  4.            echo '<img src="graf2/sklej02.php?obraz1=' . $obraz1 . '&obraz2=' . $obraz2 . '" />';
  5. ?>


Dalej patrząc (nie związane z problemem, ale dobrze o tym wiedzieć).
  1. <?php
  2. ...
  3. if (isset($_POST['krok']) && $_POST['krok'] == "1") {
  4. ...
  5. } elseif (isset($_POST['krok']) && $_POST['krok'] == "3") {
  6. ...
  7. } elseif (isset($_POST['krok']) && $_POST['krok'] == "4") {
  8. ...
  9. }
  10. ?>

Sprawdzenie "isset($_POST['krok'])" jest niepotrzebne. Bo jeżeli $_POST['krok'] == "1" zwóci true to znaczy, że zmienna istnieje smile.gif Poza tym, jęzeli koniecznie chciałbyś sprawdzić czy $_POST['krok'] istnieje to wystarczyło by zrobić tak:
  1. <?php
  2. if (isset($_POST['krok'])){
  3. if ($_POST['krok'] == "1") {
  4. ...
  5. } elseif ($_POST['krok'] == "3") {
  6. ...
  7. } elseif ($_POST['krok'] == "4") {
  8. ...
  9. }
  10. }
  11. ?>
Kshyhoo
Pierwsza rzecz. Migrowałem na webd.pl na PHP5... Nic to nie dało.
Druga. @MicNeo, Twoja wersja działa, jak najbardziej, przy czym nie mam teraz tych zmiennych w print_r($_POST);. W pliku sklej02.php odbieram jednak te dane:
  1. <?php
  2. $img1 = imagecreatefrompng($_GET['obraz1']);
  3. $img2 = imagecreatefrompng($_GET['obraz2']);
  4.  
  5. imagecopymerge($img1, $img2,   0, 100,   0, 100, 200, 100, 100);
  6.  
  7. header("Content-Type: image/png");
  8. imagesavealpha($img1, true);
  9. imagepng($img1, NULL);
  10. ?>

Trzecia: Kod formularza podał mi ktoś na innym forum smile.gif

EDIT: Kod jednak nie działa, pobiera tylko dwie pierwsze zmienne!



EDIT: Zmienne nie przechodzą, ale za to wyświetlają mi się grafiki. Powodem ich braku był wpis w .htaccess:
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]
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.