Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
suckis
Δημοσιεύσεις: 263
Εγγραφή: 11 Αύγ 2002 18:04
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από suckis » 25 Μαρ 2005 13:20

Πριν από το header είναι ο κώδικας όπως τον έκανα paste παραπάνω, δηλαδή ακριβώς πριν από το header είναι το echo $url

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από Cha0s » 25 Μαρ 2005 13:24

Καταρχήν το echo $url δεν έχει ελληνικό ερωτηματικό στο τέλος γιαυτό χτυπάει.


Κατατέλος (:D)
http://gr.php.net/manual/en/function.header.php

Διάβασε πως δουλέυουν τα Headers γιατί δνε θα σου δουλέψει έτσι και αλλιώς...

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από Cha0s » 25 Μαρ 2005 13:25

Just for the record...
PHP Manual έγραψε:Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

Άβαταρ μέλους
suckis
Δημοσιεύσεις: 263
Εγγραφή: 11 Αύγ 2002 18:04
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από suckis » 25 Μαρ 2005 13:31

Φιλαράκι τα έχω διαβάσει αυτά που μου λές. Κάτι βρίσκω τώρα όμως ...
Θα σας πω.

Άβαταρ μέλους
suckis
Δημοσιεύσεις: 263
Εγγραφή: 11 Αύγ 2002 18:04
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από suckis » 25 Μαρ 2005 13:37

Αυτό είναι τελικά. Με καθαρότερο μυαλό, πρέπει όλος ο κώδικας να είναι μέσα στο if:

Κώδικας: Επιλογή όλων

<?php
require_once&#40;'Connections/conDBase.php'&#41;;
$colname_rsLinks = "1";
if &#40;isset&#40;$_GET&#91;'lid'&#93;&#41;&#41; &#123;
  $colname_rsLinks = &#40;get_magic_quotes_gpc&#40;&#41;&#41; ? $_GET&#91;'lid'&#93; &#58; addslashes&#40;$_GET&#91;'lid'&#93;&#41;;

mysql_select_db&#40;$database_conDBase, $conDBase&#41;;
$query_rsLinks = sprintf&#40;"SELECT url FROM links_links WHERE lid = %s", $colname_rsLinks&#41;;
$rsLinks = mysql_query&#40;$query_rsLinks, $conDBase&#41; or die&#40;mysql_error&#40;&#41;&#41;;
$row_rsLinks = mysql_fetch_assoc&#40;$rsLinks&#41;;
$totalRows_rsLinks = mysql_num_rows&#40;$rsLinks&#41;;

$url = $row_rsLinks&#91;'url'&#93;;
header&#40;"Location&#58; ".$url&#41;;
exit;
mysql_free_result&#40;$rsLinks&#41;;
&#125;
?>
Στέκει έτσι ο κώδικας;

Τι κάνει η σειρά

Κώδικας: Επιλογή όλων

mysql_free_result&#40;$rsLinks&#41;;

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από Cha0s » 25 Μαρ 2005 14:25

suckis έγραψε:Φιλαράκι τα έχω διαβάσει αυτά που μου λές. Κάτι βρίσκω τώρα όμως ...
Θα σας πω.
Αν τα είχες διαβάσει θα ήξερες ότι πριν στείλεις δικά σου headers στον browser δεν πρέπει να έχουν σταλθεί άλλα (και ένα κενό πριν την πρώτη γραμμή του script στέλνει τα ανάλογα headers ο webserver στον browser).

Εσύ πριν το header είχες ένα echo...
Που αυτό σημαίνει ότι έστελνες ήδη κάποιο output στον browser.

Τώρα,

το

Κώδικας: Επιλογή όλων

exit; 
mysql_free_result&#40;$rsLinks&#41;; 
Σβήστο καθώς είναι περιττό αφού στέλνεις άλλα headers στον browser εσύ.

Για την mysql_free_result δες:
http://gr.php.net/manual/en/function.my ... result.php

Άβαταρ μέλους
suckis
Δημοσιεύσεις: 263
Εγγραφή: 11 Αύγ 2002 18:04
Τοποθεσία: Θεσσαλονίκη
Επικοινωνία:

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από suckis » 25 Μαρ 2005 14:57

Cha0s έγραψε:Εσύ πριν το header είχες ένα echo...
Που αυτό σημαίνει ότι έστελνες ήδη κάποιο output στον browser.
Και χωρίς το echo δεν έπαιζε. Δοκίμασα τα πάντα. Βρήκα τη λύση πάντως. Σας ευχαριστώ πάρα πολύ.

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση: link του τύπου http://www.mypage.gr/url.php?id=2

Δημοσίευση από Cha0s » 25 Μαρ 2005 15:03

Το δεν έπαιζε είναι σχετικό.

Και εγώ μπορώ να σου πω ότι δεν παίρνει μπρος το αμάξι και να μου πεις σαν πρώτη διάγνωση ότι δεν έχει βενζίνη.

Αν δεν δεις ο ίδιος όμως τι πρόβλημα έχει δεν μπορείς να ξέρεις σίγουρα τι μπορεί να είναι.

Αν δεν μου δείξεις τι error σου έβγαζε και χωρίς το echo δεν μπορώ να σου πω τι μπορεί να έφταιγε...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες