Perché "session_start" mi cambia l'impaginazione su explorer?

kief

Nuovo Utente
9 Lug 2012
18
0
0
Ciao
ho creato una pagina web di login per accedere ad area privata all'interno del sito e ho utilizzato il comando SESSION_START. In pratica ho aggiunto il seguente codice all'inizio della pagina.

PHP:
<?php
session_start();
if(!isset($_POST['submit'])) {
?>

//segue il codice del layout e poi il codice del form...

<form method="POST" id="login">
  <table width="200" border="0">
    <tr>
      <td><label for="username" class="testo">Username</label></td>
      <td>
      <input name="username" type="text" id="username" size="30" style="width: 180px;"></td>
    </tr>
    <tr>
      <td><label for="pass" class="testo">Password</label></td>
      <td><input name="pass" type="password" id="pass" size="30" style="width: 180px;"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="submit" id="submit" value="Invia"></td>
    </tr>
  </table>
</form>
<p>
  <?php
}
else {
	include 'private/config.php';
	include 'connect.php';
	$user = mysql_real_escape_string($_POST['username']);
	$pass = mysql_real_escape_string($_POST['pass']);
	
	$query = "SELECT username, password FROM utenti WHERE username = '{$user}' AND password = '{$pass}'";
	$result = mysql_query($query,$conn);
    $num_rows = mysql_num_rows($result);
	if ($num_rows == '1'){
		$_SESSION['login'] = "logged";
        header('Location:admin_news.html');
		}
	else{
		header('Location:login_error.html');
	}
}
?>

il problema è che quando apro la pagina con explorer mi si scombina tutto. il layout del sito, definito tramite css esterno, si perde. Ho provato a togliere il codice e subito il layout si riassesta.
Con firefox il problema non sussiste e non si presentava neanche quando ho testato il sito su un hosting gratuito....

perchè qui succede???

sono conosciute delle incompatibilità di qualche tipo con il codice e qualche tipo di hosting?
 
Ultima modifica di un moderatore:

kief

Nuovo Utente
9 Lug 2012
18
0
0
forse ho capito...a quanto pare nel mio servizio hosting, poichè è possibile personalizzare il file php.ini devono essere attivati le sessioni...
mah...


in particolare mi viene data la possibilità di creare un file php.ini nella mia cartella html_public e con htaccess permettere che vengano letti i parametri personali.

qualcuna sa dirmi come si fa? che modifiche vanno fatte al file php?

grazie
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
questa per me è nuova, ho diverse pagine con session start ma non si scompina nulla, anche perche quella parte di codice non diventa html.

p.s.
quando scrivi del codice racchiudilo tra gli appositi tag (barra formattazione post 2° riga ultime tre iconcine CODE, HTML, PHP)
 

kief

Nuovo Utente
9 Lug 2012
18
0
0
ciao,
io sto usando explorer 9
ho provato anche a contattare l'assistenza dell'hosting e difatto anche loro mi hanno detto che dovrebb essere questione di configurare adeguatamente php.ini attivando le sessioni
il punto è che non so come si faccia.

di default il servizio hosting configura il php.ini così:

SottosezioneDirettivaInfoValore
Language Optionssafe_modeOff
Language Optionsasp_tagsAllow ASP-style <% %> tags.Off
mainsession.save_pathArgument passed to save_handler. In the case of files, this is the path where data files are stored. Note: Windows users have to change this variable in order to use PHP's session functions. As of PHP 4.0.1, you can define the path as: session.save_path = "N;/path" where N is an integer. Instead of storing all the session files in /path, what this will do is use subdirectories N-levels deep, and store the session data in those directories. This is useful if you or your OS have problems with lots of files in one directory, and is a more efficient layout for servers that handle lots of sessions. NOTE 1: PHP will not create this directory structure automatically. You can use the script in the ext/session dir for that purpose. NOTE 2: See the section on garbage collection below if you choose to use subdirectories for session storage/tmp
File Uploadsfile_uploadsWhether to allow HTTP file uploads.On
Paths and Directoriesinclude_pathWindows: "\path1;\path2" c:\php\includes.:/usr/lib/php:/usr/local/lib/php
Data Handlingregister_globalsYou should do your best to write your scripts so that they do not require register_globals to be on; Using form variables as globals can easily lead to possible security problems, if the code is not very well thought of.Off
File Uploadsupload_max_filesizeMaximum allowed size for uploaded files.16M
Resource Limitsmax_execution_time30
Resource Limitsmax_input_time60
Resource Limitsmemory_limit96M

tutto il resto credo sia personalizzabile....ma non so personalizzarlo...qualcuno saprebbe darmi delle indicazioni per attivare le sessioni??
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Controlla "session.save_path" che definisce la stringa per il salvataggio delle sessioni, quando le sessioni vengono salvate su textfile essa rappresenta il percorso in cui memorizzare i files; il suo valore predefinito è '/temp'.

Poi anche session.auto_start che specifica se le sessioni devono avviarsi automaticamente ad inizio pagina, il valore predefinito è 0 (disabilitata).
 

kief

Nuovo Utente
9 Lug 2012
18
0
0
ciao.
ho provato a seguire le istruzioni offerte dal hosting per configurare php.ini
In pratica ho aggiunto un file php.ini nel mia cartella public_html e dentro ho scritto:
Codice:
session.auto_start = 0
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.cache_expire = 180
session.cache_limiter = nocache
session.cookie_domain = 
session.cookie_httponly = Off
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_secure = Off
session.entropy_file = 
session.entropy_length = 0
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.gc_probability = 1
session.hash_bits_per_character = 4
session.hash_function = 0
session.name = PHPSESSID
session.referer_check = 
session.save_handler = files
session.save_path = /tmp
session.serialize_handler = php
session.use_cookies = 1
session.use_only_cookies = Off
session.use_trans_sid = 0

dopo di chè ho aggiunto nel file .htaccess la stringa
Codice:
SetEnv PHPRC /home/miosito/public_html/php.ini
ovviamente sostituendo il miosito con la cartella corretta

Niente non ha funzionato tutto è come prima.

Ho controllato ancora e mi sono accorto che c'era la possibilità di installare da CPanel anche estensioni delle "PHP PEAR" :confused:(cosa sono??? vanno installate??)

Ho notato che c'era la possibilità di installare le seguenti estensioni:

- HTTP_Session (0.5.6 beta)
- HTTP_Session2 (0.7.3 beta)
- HTTP_SessionServer (0.5.0 alpha)

Ho provato ad installare le prime due che mi sembravano quelle che centravano di più :confused:(anche se devo ammettere che non ho idea di cosa stessi facendo). le ho installate prima separatamente, poi entrambe...

Niente non c'è verso che funzionino....
cosa posso guardare ancora o cosa mi suggerite di chiedere all'assistenza dell'hosting?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Prova a modificare così la chiamata alla funzione:
PHP:
ob_start();
session_start();
ob_end_clean();
E assicurati che sia all'inizio del file, prima di ogni altra cosa. Poi visualizza il sorgente della pagina: se non c'è nulla prima del doctype vuol dire che la chiamata a session_start() non c'entra.
 

kief

Nuovo Utente
9 Lug 2012
18
0
0
Ciao Alessandro,
ho provato come mi hai suggerito tu.
Ho verificato il sorgente e all'inizio c'è esattamente il codice che mi hai suggerito credo quindi che sia confermato il problema delle sessioni
ora sto provando a risolvere con l'assistenza ... mah ... spero bene...
in ogni caso se avete suggerimenti sono sempre pronto a sperimentare
 

kief

Nuovo Utente
9 Lug 2012
18
0
0
il server a cui mi appoggio offre un servizio di Cloud Hosting - CloudLinux (non so se è questo che intendevi)
...perdona la mia ignoranza ma wamp non è per i server in locale?...
in locale (easyPHP) il sistema funzionava perfettamente e anche in un altro server di hosting gratuito che sto utilizzando.
 

kief

Nuovo Utente
9 Lug 2012
18
0
0
ok risolto con l'assistenza...
in realtà non era il session ma il fatto che non parsava il php come html
nell'htaccess io avevo indicato

AddHandler application/x-httpd-php .htm .html

mentre serviva un 5 in più...:incazz:

AddHandler application/x-httpd-php5 .htm .html

grazie comunque a tutti per l'aiuto
 
Discussioni simili
Autore Titolo Forum Risposte Data
V [PHP] Perché non funziona ? PHP 1
M Perché Javascript non mi valida questo form? Javascript 0
J Ciao ho bisogno di capire, perché questo form non funziona più sul sito ASP.NET 0
S Non mi funziona la connessione/query mysqli. Ma perché? PHP 1
P Secondo voi Joomla! è meglio di Drupal? Perché? Joomla 9
F Perché usate ASP.net? ASP.NET 21
P Perché devo riavviare il pc per connettermi a internet? Adsl e Connettività 1
A Perché secondo voi questo streaming si blocca? PHP 2
alessandro1997 Perché programmare a oggetti PHP 22
S Perché mi restituisce tutti gli users PHP 6
L perché questo programma non funziona? Programmazione 0
G Con Dreamweaver, perché cerca non trova la selezione? Webdesign e Grafica 4
GENZIANA Perché non vedo le mie pagine in locale? PHP 4
L perché cambiano le icone????? Discussioni Varie 8
L login e session PHP 4
max1974 Session Timeout Javascript 0
L [PHP] login e protezione pagine con session PHP 3
P [PHP] Multi-session PHP 1
Y [PHP] The session is lost PHP 8
G [PHP] Problema - Warning: session_start() [function.session-start] PHP 9
L [WordPress] creare un plugin , come faccio ad utilizzare le session. WordPress 5
M [Java] Session Attribute Spring MVC Java 1
M [PHP] ID in SESSION PHP 1
P Session e cookie funzionano solo dopo passaggio valori tramite POST PHP 8
W Session e htaccess PHP 2
M Non aggiorna valore session PHP 5
Nik Cannot send session cache limiter - ERRORE utilizzando session_start(); PHP 3
I registrazione (SESSION) PHP 5
K problemi con nome della session PHP 3
N Problema con le SESSION PHP 6
P problema salvataggio e richiamo SESSION PHP 0
M Session timeout in ASP.NET ASP.NET 1
S VS2010: Variabili Session in ASP net ASP.NET 2
Emix Problema Session PHP 1
S codeigniter session problem PHP 1
A session hijacking PHP 0
A Problema SESSION e LOGIN PHP 1
T Cambiare session id PHP 1
Monital Errore solo per alcuni utenti, colpa delle session? PHP 5
Fabrizio Fiorita header e session funzionano perfettamente in locale ma creano problemi in remoto PHP 32
J PhPBB , e le session di login phpBB 1
helpdesk Nessuna session start in login PHP PHP 12
S session come mettere l'id utente PHP 1
G problema con session.gc_maxlifetime PHP 3
T problema con le session PHP 3
ciacos74 PHP errore function.session-start PHP 25
max_400 blog con session si può fare? PHP 10
M problema con Session PHP 3
M Problema con l'utilizzo delle Session PHP 3
H Warning: session_start() [function.session-start]: Cannot send session cache limiter PHP 8

Discussioni simili