Problema con header:"troppi reindirezzamenti"

the_boss

Utente Attivo
21 Feb 2010
53
0
0
allora....
in una pagina ho inserito questo codice:
PHP:
<?php
function create_password() { 
    // caratteri disponibili 
    $chars = 'A B C D E F G H I J K L M N O P Q R S T U W X Y Z a b c d e f g h i j k l m n o p q r s t u w x y z 1 2 3 4 5 6 7 8 9 0'; 
    $chars = explode(' ', $chars); 

    // variabile della password 
    $password = ''; 

    // crea la password 
    for($i = 0; $i < 8; $i++) 
        $password .= $chars[rand(0, count($chars) - 1)]; 

    // restituisce la password 
    return $password; 
}
$regnom=$_POST['nome'];
$regmail=$_POST['mail'];
if ($regnom !=="" && $regnom !=="") {
$password=create_password();
$tuttigliutenti=file_get_contents("tuttigliutenti.txt");
$arrayutenti=explode("°°°",$tuttigliutenti);
$ngio=count($arrayutenti);
$oggetto="Iscrizione al Forum Elettric Fight";
$interno="Ti sei iscritto al Forum Elettric Fight con il nome di: ".$regnom."\nLa tua Password è: ".$password."\nIl tuo numero di giocatore è: ".$ngio-=1;
$intestazioni="From:[email protected]";
mail($mail, $oggetto, $interno, $intestazioni);
$utfile=fopen("tuttigliutenti.txt",'a');
fwrite($utfile,$regnom."°°°");
fclose($utfile);
$pasfile=fopen("passpasspas.txt",'a');
fwrite($pasfile,$password."°°°");
fclose($pasfile);
}
?>
<table border="1" width="1000">
<tr>
<td>Registrati!</td>
<td> Log In!</td>
</tr>
<tr>
<td>
<form action="" method="POST">
Nome: <input type="text" name="nome"><br>
Mail: <input type="text" name="mail">
<input type="submit" value="Invia!">
</form>
</td>
<td>
</form action="" method="POST">
Nome: <input type="text" name="lognom"><br>
Password: <input type="password" name="logpass"><br>
N°: <input type="text" name="password">
<input type="submit" value="Invia!">
</form>
</td>
</tr>
</table><br>
<table border="1">
<tr><td>
<div style="width:700px;height:200px;overflow-y: scroll; border:1px solid black;">
<?php
$tagnom=$_POST['tagnom'];
$messaggio=$_POST['tagmsg'];
if ($tagnom !=="" && $messaggio !=="") {
$file=fopen("scritto.txt",'a');
fwrite($file,$tagnom.": ".$messaggio."°°°");
fclose($file);
}
$tutto=file_get_contents("scritto.txt");
$array=explode("°°°",$tutto);
$quanti=count($array);
for ($i=$quanti; $i>=0; $i-=1) {
echo $i.") ".$array[$i]."<hr>";
}
?>
</div>
</td>
</tr>
<tr>
<td>
<form action="" method="POST">
<input type="text" name="tagnom">
<input type="text" name="tagmsg">
<input type="submit" value="Invia!">
</form>
</td>
</tr>
</table>

fin qui tutto funzionante...
solo che nella tagboard, se invio un messaggio con scritto "ciao" e poi aggiorno la pag. ne invia un altro uguale....
un mio amico mi ha detto di inserire header prima di chiudere la graffa,
allora qui:
PHP:
if ($tagnom !=="" && $messaggio !=="") {
$file=fopen("scritto.txt",'a');
fwrite($file,$tagnom.": ".$messaggio."°°°");
fclose($file);
}
prima della graffa ho messo:

PHP:
header("location:http://avmavm.altervista.org/forum/index.php");

appena apro la pag. mi viene scritto:
La pagina web ha generato un loop di reindirizzamento.

La pagina web all'indirizzo http://avmavm.altervista.org/forum/index.php ha causato troppi reindirizzamenti. La cancellazione dei cookie relativi a questo sito o l'attivazione di cookie di terze parti potrebbe risolvere il problema. In caso contrario, potrebbe trattarsi di un problema di configurazione del server e non del computer.



come faccio??
 
scusa la pignoleria, prima della graffa aperta o di quella chiusa?
 
Ultima modifica:
nel tuo codice ci sono due istruzioni per la scrittura:
PHP:
$utfile=fopen("tuttigliutenti.txt",'a');
fwrite($utfile,$regnom."°°°");
fclose($utfile);
$pasfile=fopen("passpasspas.txt",'a');
fwrite($pasfile,$password."°°°");
fclose($pasfile);
hai messo header alla fine di ognuna di esse?
 

Discussioni simili