Newsgroup: it.comp.www.php
Titolo: Aiuto per Header e Buffer

Ciao a tutti,sto studiando PHP sul libro PHP in 24 ore di Zandstra,e
sono arrivato alla fine
dove c'è un esempio di costruzione di un sistema di News.
Nella pagina Join.php (lo scrivo se qualcuno lo conosce), nelle primw
righe si includono due file
dopo il codice controlla se login e password sono state inserite e in
ultimo ridireziona la pagina con l'istruzione header.
Siccome non mi funziona e ho letto sul manuale che è sbagliato includere
prima i file e poi usare header,vorrei per gentilezza che qualcuno mi
spiegasse un po meglio questa cosa.
Ho letto che questa cosa si potrebbe risolvere tramite il buffer,tenendo
sul server gli eventuali dati fino a quando non si usa header ma non ho
trovato un esempio che sia riuscito a capire.
Possibile che il codice del libro sia sbagliato?
Questo è il codice:
<?php
include("dbLib.inc"); // connessione al database
include("clubLib.inc"); // apertura sessione e registrazione sessione
$message = "" ; //variabile che visualizza messaggi di errore durante la
verifica dei dati,se rimane vuota tutto c andato bene
if ( isset( $actionflag ) && $actionflag == "join")
{
if ( empty($form[login]) || empty($form[password]) ||
empty($form[password2]) )
$message .= "Devi riempire tutti i campi di testo <br>\n";
if ($form[password] != $form[password2])
$message .= "Le password non corrispondono <br>\n";
if (strlen($form[password]) > 8 )
$message .= "La password deve essere lunga meno di 8 caratteri<br>\n";
if (strlen($form[login]) > 8 )
$message .= "Il Login deve essere lungo meno di 8 caratteri<br>\n";
if (getRow("clubs","login",$form[login] ) )
// la funzione getRow richiamata da dbLib.inc richiede un nome di
tabella
// un nome e un valore di campi che utilizza per trovare una riga
corrispondente nel DB
// se il nome di login esiste restituiamo un messaggio di errore
$message .= "Login \"$form[login]\" esiste gir . Prova un altro Login
<br>\n";
if ($message == "") //nessun errore rilevato si registra l'utente
{
$id = newUser( $form[login],$form[password] );//registra il nuovo utente
clearMemberSession( $id,$form[login],$form[password] ); //registra i
dati in un array di sessione
header("Location: updateClub.php?".SID); // SID è una var globale che
registra l'id della sessione e rende possibile il passaggio dell'id fra
le pagine
exit; //impedisce di eseguire il resto del codice dopo header
  }
}
Scusate la lunghezza e grazie mille!
Fabrizio
-- 
ATTENZIONE: chiunque insersca la mia email
nella propria rubrica inserisca questo
indirizzo:
fl3333@@
supereva.it
Questo per evitare che il vero indirizzo
venga clonato da un eventuale virus
GRAZIE
---
Outgoing mail is certified VIRUS FREE.
Questa Mail è certificata LIBERA DA VIRUS!!
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.520 / Virus Database: 318 - Release Date: 18/09/2003

Possibile che il codice del libro sia sbagliato?
è possibile che sia stato scritto per una certa versione di php, e che
poi non funzioni più a modo con una versione più recente del php, ad
esempio mi pare che il tuo script funzioni solo con register-globals
on. Ma l'errore che ti dà qual è?
Ciao
Francesco
_____________________________________
Per rispondere in e-mail togli NOSPAM