- Home
- Categorie
- Coding e Sistemistica
- PHP
- Warning: Cannot modify header information
-
Dovresti inserire anche la parte di codice che precedere la funzione header.
Solitamente accade quando a video è stato visualizzato qualcosa.
Hai fatto prima qualche echo?Nené
-
ciao!
<? session start(); ?>
deve essere la primissima cosa che c'è nel codice all'inizio della pagina
anche uno spazio può farti incappare i quel problema.
-
questo è quello che ho all'inizio della pagina...
<?php
session_start();
dbconnect();if ($_REQUEST['action'] == "login") {
$_SESSION['verified_user'] = "";
$result = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['username']."' AND password='".$_REQUEST['psw']."'");
if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
}?>
e alla fine i dati di conn
<?php
}
function dbconnect() {
mysql_connect("localhost", "user", "pass");
@mysql_select_db("nomedb") or die ("Unable to select database");
}
?>
-
@shira said:
questo è quello che ho all'inizio della pagina...
<?php
session_start();
dbconnect();if ($_REQUEST['action'] == "login") {
$_SESSION['verified_user'] = "";
$result = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['username']."' AND password='".$_REQUEST['psw']."'");
if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
}?>
e alla fine i dati di conn
<?php
}
function dbconnect() {
mysql_connect("localhost", "user", "pass");
@mysql_select_db("nomedb") or die ("Unable to select database");
}
?>hai un parentesi di troppo, a parte questo non mi dà errore!
-
@ramon said:
hai un parentesi di troppo, a parte questo non mi dà errore!
Se monti tutto il codice che ti ha dato, la parentesi non è di troppo.
L'unica cosa che potrebbe stampare qualcosa a video è dbconnect(); che ha un "or die". Prova a togliere la chiocciolina davanti a mysql_select_db, e magari dovresti vedere nell'html sorgente generato dalla pagina se c'è anche solo uno spazio prima dell'errore. Casomai postaci il link.Nené
-
Il problema è che non puoi usare session_start e poi header.
-
finalmente un forum dove non si viene abbandonati a se stessi!!
grazie!!
ritornando al problema....penso che la soluzione di senamion sia giusta, infatti togliendo l'header e mettendo questo redirect<meta http-equiv="refresh" content="1;url=pa3.php">
vengo reindirizzato dopo il login a questa pagina, ma non a quella dell'id_utente corrispondente alla USER.
Ho provato ad inserire dopo il .php questo codice?id_utente=<?=$rigo['id_utente']?> ma non va!!
soluzioni?
-
-
Devi mettere un valore devi fare un echo in php, in pratica devi fare così:
?id_utente=<? echo $rigo['id_utente']; ?>
-
Il problema è che non puoi usare session_start e poi header.
E perché mai?Puoi, stando attento a non far stampare nulla in mezzo.
O senza troppe rotture usando le gz_*
-
In realtà ho semplificato, ma se guardi i commenti della funzione header php (http://it2.php.net/manual/it/function.header.php) scopri che può avere problemi con la cache. Se si vuole usare session_start() e header() bisogna fare attenzione.
-
sto impazzendo!!!
premesso che ho deciso di non utilizzare il metodo header, ma METa....
compongo il codice che vi ho descritto:if ($_SESSION['verified_user'] != "") {
echo "<meta http-equiv="refresh" content="1;url=pa3.php?id_utente=">";adesso...mi porta alla pagina pa3.php?id_utente= correttamente.
ovviamente ho inserito il codice di seniamon dopo l'uguale
<? echo $rigo['id_utente']; ?>
ma la linea mi da errore!!!
io il rigo lo richiamo con
if ($_REQUEST['action'] == "login") {
$_SESSION['verified_user'] = "";
$result = mysql_query("SELECT * FROM users WHERE username='".$_REQUEST['username']."' AND password='".$_REQUEST['psw']."'");$rigo=mysql_fetch_array($result);
if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
}MA SARA' GIUSTO???