[ΛΥΘΗΚΕ]session

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

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

Απάντηση
Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από majuranus » 21 Ιουν 2010 11:22

Καλημέρα σε όλους,

Ετοιμάζω ένα site το οποίο μεταξύ άλλων περιλαμβάνει login

Εχω λοιπόν την σελίδα login.php (που βλέπει ο χρήστης)
και την σελίδα admin.php (που θα βλέπει ο διαχειριστής)

Στην σελίδα login έχω τον κώδικα

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

<?php 
	include &#40;'functions/opendb.php'&#41;;
	$username=$_POST&#91;username&#93;;
	$password=$_POST&#91;password&#93;;
	if&#40;$username!='' && $password!='' && $error!=1&#41;
	&#123;
		$sql="SELECT * FROM users WHERE username='$username' AND password='$password'";
		$result=mysql_query&#40;$sql&#41;;
		$rows=mysql_num_rows&#40;$result&#41;;
   if &#40;$rows==1&#41;
     &#123;
   session_register&#40;"authenticated"&#41;;
  &#91;b&#93; header&#40;'location&#58;administrator/admin.php'&#41;;&#91;/b&#93;
     &#125;
	&#125;?>

Και στην σελίδα admin.php απλά ελέγχω αν το session "authenticated" υπάρχει αλλιώς τον στέλνω πίσω στην σελίδα login

Το πρόβλημα μου είναι οτι βγάζει αυτό


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\keplinet\login.php:7) in C:\xampp\htdocs\keplinet\login.php on line 32
Η γραμμή 32 είναι session_register("authenticated");

Ευχαριστώ για τον χρόνο σας, αν υπάρχει κάποια πρόταση καλοδεχούμενη
Τελευταία επεξεργασία από το μέλος majuranus την 21 Ιουν 2010 12:00, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από korgr » 21 Ιουν 2010 11:32

1. Ελεγχεις αν εχεις UTF with BOM (αν ναι σωζεις χωρις BOM)
2. Ελεγχεις αν έχεις καποιο κενο χαρακτηρα ή αλλαγη γραμμης στο login.php
3. Ελεγχεις αν έχεις καποιο κενο χαρακτηρα ή αλλαγη γραμμης στο opendb.php

Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από majuranus » 21 Ιουν 2010 11:34

Μόνο το 1 δεν καταλαβαίνω υπάρχει κάποιο site να διαβάσω περί BOM??

Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από majuranus » 21 Ιουν 2010 11:38

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

και στο CSS έχω αυτό..
@charset "utf-8";

να το βγάλω?

Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από cn92 » 21 Ιουν 2010 11:47

ίσως χρειάζεται μία ρύθμιση στο php.ini, να ενεργοποιήσεις το output buffering.

Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από majuranus » 21 Ιουν 2010 11:53

Καλή η σκέψη αλλά δεν βοήθησε δυστυχώς...

Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από majuranus » 21 Ιουν 2010 12:00

ΚΥΡΙΟΙ, ΒΡΗΚΑ ΤΙ ΦΤΑΙΕΙ... ΕΓΩ!!!!

Το κομμάτι κώδικα που παρέθεσα ήταν τοποθετημένο κάτω από την περιοχή <head>...</head> Αυτο σημαίνει πως τα headers είχαν ήδη σταλεί όταν εγώ προσπαθούσα να τα στείλω.

Άρα Όταν χρησιμοποιούμε HEADER εντολές να τις βάζουμε ΠΡΙΝ την περιοχή <HEAD>...</HEAD> της ιστοσελίδας μας...

(εννοείται ότι δεν το γράφω για τους κυρίους που πρότειναν λύσεις αλλά για όλους εσάς που αντιμετωπίζετε το ίδιο πρόβλημα!!) :))))

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

[ΛΥΘΗΚΕ]session

Δημοσίευση από korgr » 21 Ιουν 2010 12:01

majuranus έγραψε:Μόνο το 1 δεν καταλαβαίνω υπάρχει κάποιο site να διαβάσω περί BOM??
http://www.phpbb.com/community/viewtopi ... &t=1584655

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

[ΛΥΘΗΚΕ]session

Δημοσίευση από Khronos » 21 Ιουν 2010 15:34

majuranus έγραψε:ΚΥΡΙΟΙ, ΒΡΗΚΑ ΤΙ ΦΤΑΙΕΙ... ΕΓΩ!!!!

Το κομμάτι κώδικα που παρέθεσα ήταν τοποθετημένο κάτω από την περιοχή <head>...</head> Αυτο σημαίνει πως τα headers είχαν ήδη σταλεί όταν εγώ προσπαθούσα να τα στείλω.

Άρα Όταν χρησιμοποιούμε HEADER εντολές να τις βάζουμε ΠΡΙΝ την περιοχή <HEAD>...</HEAD> της ιστοσελίδας μας...

(εννοείται ότι δεν το γράφω για τους κυρίους που πρότειναν λύσεις αλλά για όλους εσάς που αντιμετωπίζετε το ίδιο πρόβλημα!!) :))))
Βασικά πριν απο html κώδικα, όχι μόνο το <head></head>

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[ΛΥΘΗΚΕ]session

Δημοσίευση από Apostolis_38 » 22 Ιουν 2010 09:14

Επειδή καμμιά φορά, για εικαστικούς λόγους, δεν γίνεται να μην μπεί πρώτα η html το ob_start πρίν την html και το ob_flush μετά βοηθάνε.

Απάντηση

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

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

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