Ho da chiedervi qualche consiglio su questo script:
...in breve:Codice PHP:
<?php
//file dove memorizzare i dati
$datafile = "comments.txt";
//verifico se il modulo è stato inviato
if(isset($_POST['submit'])){
//
$name = $_POST['name'];
if($name == "")
$nameError = 1;
else
$nameError = 0;
$comments = $_POST['comments'];
if($comments == "")
$commentsError = 1;
else
$commentsError = 0;
//se i campi "name" e "comments" non sono vuoti inserisco i dati
if($name != "" && $comments != "")
$new_content = "$name::$comments\n";
$fp = fopen($datafile, "a");
$fw = fwrite($fp, $new_content);
$fc = fclose($fp);
}
else {
$nameError = 0;
$name = "";
$commentsError = 0;
$comments = "";
}
?>
<html>
<head>
<title>PHP Comments...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>* {font: 10px verdana}</style>
</head>
<body>
<form name="modulo" method="post" action="<?=$_SERVER['PHP_SELF']?>">
Nome:
<input type="text" name="name" value="<?php echo($name)?>">
<?php
if($nameError)
echo "<font color=red>Inserire il nome!</font>";
?>
Commenti:
<textarea name="comments"><?php echo($comments)?></textarea>
<?php
if($commentsError)
echo "<font color=red>Inserire un commento!</font>";
?>
<input type="submit" name="submit" value="Invia">
</form>
<hr>
<?php
//verifico se il file esiste altrimenti lo creo
if(file_exists($datafile)) {
$read_data = file($datafile);
$num_comments = count($read_data);
for($c=0; $c<$num_comments -1; $c++) {
$content = explode("::", $read_data[$c]);
echo "[b]Nome:[/b] $content[0]";
echo "
";
echo "[b]Commento:[/b] $content[1]";
echo "
";
}
}
?>
</body>
</html>
- cliccando sul pulsante "Invia" se i campi sono vuoti visualizzo il msg d'errore contemporaneamente accanto ai due campi. Come posso fare per controllare un campo alla volta?
- se inserisco nel campo "name" del testo, rimane memorizzato dopo aver cliccato sul pulsante "Invia". Lo stesso succede per il campo "comments" ma, se entrambi i campi sono compilati e provo a cliccare sul pulsante "Invia" non succede nulla! non riesco a visualizzare i dati inseriti nel modulo se non dopo aver cliccato un paio di volte!! :master:
Per favore, mi aiutate a capire cosa c'è che non va??
Grazie!