header

giorgione_tg

Utente Attivo
31 Mar 2005
108
0
0
41
Roma
www.myspace.com
Ciao raga.... Ma io non ho capito a che servono gli header....
Ovvero, mi creano sempre problemi infatti non riesco ad aprire alcuna sessione per questo semplice motivo...
Qualcuno mi sa dare qualche spiegazione od esempio?? Grazie!!
 
scusa... ma io proprio non capisco.... mi fa questi errori...

Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\faisci\reg2.php:19) in c:\apache\htdocs\fai\reg2.php on line 39

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\faisci\reg2.php:19) in c:\apache\htdocs\fai\reg2.php on line 39

e non so minimamente cosa vogliano dire... :dipser:

mi sbaglia qui:

if ($number < 1) {
$queryins = "INSERT INTO sciatori (id, username, pwd, email) VALUES ('', '$user', '$pwd', '$email')";
mysql_query($queryins) or die("Utente non iscritto");
$num = mysql_insert_id();
print "Complimenti $user Accesso eseguito. Lei è il $num utente iscritto!<br>";
session_start();
$_SESSION[''] = "ok";
}
else {
header("http://localhost/FAISCI/reg1.php");
}

Qualcuno i sa aiutare senza reindirizzarmi a guide e manuali??? Grazie di tutto!!! :byebye:
 
penso che i tuoi problemi sono nella session.

esempio form login

HTML:
<form action="login.php" method="post" dir="ltr" lang="it">
        <input name="pwd" type="password" dir="ltr" size="25">
        <input type="submit" dir="ltr" lang="it" value="login">
      </form>

pagina esempio controllo login.php

PHP:
<?php 
session_start(); 

if(
	isset($_POST['pwd'])&&(!empty($_POST['pwd']))&&($_POST['pwd']=='carlo')){
	$loginEffettuato = 1;
	}

if ($loginEffettuato) 
{ 
   $_SESSION['login_effettuato'] = true;
   header('location: getfiles.php'); 
}else{
	header('location: privata.php');
}
 
?>

:byebye:
 
ma per location si intende il percorso che dovrei inserire io?
ovvero http://localhost... ?

O devo semplicemente scrivere il nome del 'file'??

Inoltre nel file della location che devo inserire?? Viene spontaneo chiedermi: Il file di location è quindi un semplice link?
:confused:
 
giorgione_tg ha scritto:
scusa... ma io proprio non capisco.... mi fa questi errori...

Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\faisci\reg2.php:19) in c:\apache\htdocs\fai\reg2.php on line 39

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\faisci\reg2.php:19) in c:\apache\htdocs\fai\reg2.php on line 39

e non so minimamente cosa vogliano dire... :dipser:

mi sbaglia qui:

if ($number < 1) {
$queryins = "INSERT INTO sciatori (id, username, pwd, email) VALUES ('', '$user', '$pwd', '$email')";
mysql_query($queryins) or die("Utente non iscritto");
$num = mysql_insert_id();
print "Complimenti $user Accesso eseguito. Lei è il $num utente iscritto!<br>";
session_start();
$_SESSION[''] = "ok";
}
else {
header("http://localhost/FAISCI/reg1.php");
}

Qualcuno i sa aiutare senza reindirizzarmi a guide e manuali??? Grazie di tutto!!! :byebye:





Il problema è nella print prima della session_start();
non è possibile emettere output prima di chiamate del tipo
session_start()
setcookie()
header()
...

Nel tuo caso farei
$num = mysql_insert_id();
session_start();
$_SESSION['login'] = '1';
echo'Complimenti '.$user.' Accesso eseguito. Lei è il '.$num.' utente iscritto!<br>';

Inoltre
header('http://') è sbagliata:

header("Location: http://www.pippo.it");
exit;

è corretta.

Se vuoi , puoi bypassare i problemi di header already sent
invocando la funzione
ob_start();
all'inizio dello script.
Puoi poi anche scrivere
echo "....";
setcookie();
ob_get_contents();


bye
 

Discussioni simili