Neptous Δημοσ. 12 Μαΐου 2008 Δημοσ. 12 Μαΐου 2008 Έχω υλοποιήσει ένα script στο οποίο θέλω να κάνω ένα Header header('Location: requestlist.php'); τοποθετώντας μέσα στο κώδικα την παραπάνω γραμμή αντί για να με πάει στο php sctipt Που δηλώνω με εμφανίζει το παρακάτω μήνυμα: Warning: Cannot modify header information - headers already sent by (output started at / public_html/requestupd.php:2) in public_html/requestupd.php requestupd.php on line 37
Foutrelis Δημοσ. 13 Μαΐου 2008 Δημοσ. 13 Μαΐου 2008 Καλησπέρα, Δεν πρέπει να υπάρχει καθόλου output πριν σταλθούν οι headers. Δηλαδή αυτό είναι λάθος: > <?php echo "needs more desu"; header("Location: http://example.com/"); Το σωστό θα ήταν: > <?php header("Location: http://example.com/"); exit(); (το exit() διακόπτει την εκτέλεση του script και καλό είναι να υπάρχει μετά την αποστολή header που ανακατευθύνει το χρήστη σε άλλη σελίδα) Επίσης, μερικοί επεξεργαστές κειμένου προσθέτουν στην αρχή του αρχείου το BOM για να δείξουν ότι η κωδικοποίηση του αρχείου είναι UTF-8. Όμως, αυτό θεωρείται output και έτσι είναι αδύνατη η αποστολή headers μετέπειτα. Η λύση σε αυτή την περίπτωση είναι η αλλαγή επεξεργαστή κειμένου.
Neptous Δημοσ. 13 Μαΐου 2008 Μέλος Δημοσ. 13 Μαΐου 2008 Σε ευχαριστώ για την βοήθεια άλλος τρόπος εκτός από τη Header υπάρχει ?
Foutrelis Δημοσ. 14 Μαΐου 2008 Δημοσ. 14 Μαΐου 2008 Meta refresh ή με χρήση Javascript. (Στη μέθοδο με Javascript, αντί για window.location, χρησιμοποίησε location.href)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.