Scusate il doppio post, ma ho finito!
Nessun problema: fila tutto liscio.
Ho riscritto tutto il guestbook, ed ho cambiato completamente metodo.
Posto il codice (sono diverse pagine):
scrivi.html:
Codice HTML:
<html>
<head>
<title>Scrivi un messaggio</title>
<script type="text/javascript">
function nasc() {
document.getElementById('nasc').style.display='none';
}
function w() {
document.getElementById('info').style.display='block';
document.getElementById('n').style.display='none';
document.getElementById('b').style.display='block';
}
function b() {
document.getElementById('info').style.display='none';
document.getElementById('n').style.display='block';
document.getElementById('b').style.display='none';
}
function apri() {
window.open('pop.php','emoticons','width=300,height=200,resizable=no,fullscreen=no,toolbar=no,location=yes,scrollbars=yes,status=yes');
}
</script>
<style type="text/css">
#nasc {
display: none;
}
#info {
display: none;
}
#n {
display: block;
}
#b {
display: none;
}
</style>
</head>
<body link="blue" vlink="blue" alink="blue">
<form name="scrivi" action="posting.php" method="post">
Nome: <input type="text" name="nome"><br>
E-mail: <input type="text" name="email"><br>
Sito web: <input type="text" name="sito" value=""> <a href="javascript:apri()">emoticons</a><br>
<textarea name="testo" cols="30" rows="12"></textarea><br>
<input type="submit" value="invia"> <input type="reset" value="cancella">
</form>
<a id="n" href="javascript:w()">Informazioni - importante!</a>
<a id="b" href="javascript:b()">chiudi</a>
<div id="info">
html: <b>disttivato</b><br>
bbcode: <b>attivato</b><br>
emoticons: <b>attivate</b><br>
Per il sito web, se non lo avete lasciate il campo vuoto, altrimenti mettete <b>sempre</b> http://vostrosito.estensione
</div>
</body>
</html>
posting.php (il motore):
Codice PHP:
<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$testo = $_POST['testo'];
$sito = $_POST['sito'];
$tags = array("<strong>","<em>","<u>","<a>","<img>");
$nome = strip_tags($nome);
for ($i=0;$i<=count($tags);$i++) {
$testo = strip_tags($testo, $tags[$i]);
}
function bbcode($testo) {
$cerca_codice= array(
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is'
);
$sostituisci_codice = array(
'<strong>$1</strong>',
'<em>$1</em>',
'<u>$1</u>',
'<a href=$1 target=blank>$1</a>',
'<img src=\'$1\' />',
'<a href=$1 target=blank>$2</a>',
);
$testo= preg_replace ($cerca_codice, $sostituisci_codice, $testo);
return $testo;
}
$testo = bbcode($testo);
$url = array("<img src=\"0.gif\">","<img src=\"1.gif\">","<img src=\"2.gif\">","<img src=\"3.gif\">","<div class=\"codice\">","</div>");
$facc = array(":D",":oops:",");","(;","[code]","[/code]");
for ($i=0;$i<=count($facc);$i++) {
$testo = str_replace($facc[$i],$url[$i],$testo);
}
if ($sito == "") {
$header = "$nome, <a href=\"mailto:$email\">e-mail</a> ha scritto:<br>";
} else {
$header = "$nome, <a href=\"$sito\">sito web</a>, <a href=\"mailto:$email\">e-mail</a> ha scritto:<br>";
}
$fp = fopen("prov.txt", "a+");
fwrite($fp, $header.$testo."<br>");
fclose($fp);
header("Location: bacheca.php");
?>
bacheca.php:
Codice HTML:
<html>
<head>
<title>Bacheca</title>
<style>
.codice {
font-family: Courier, 'Courier New', sans-serif;
font-size: 11px;
color: #FF9900;
background-color: #FAFAFA;
border: #D1D7DC;
border-style: solid;
border-left-width: 1px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px
}
#contenitore {
background-color:#EFEFEF;
width: 500px;
}
</style>
</head>
<body link="blue" vlink="blue" alink="blue">
<a href="scrivi.html">Aggiungi un commento</a><br>
Ecco la bacheca:<br><div id="contenitore">
Codice PHP:
<?php
$database = file("prov.txt");
$to = count($database);
for($i=0;$i<$to;$i++) {
list($line) = explode("\n",$database[$i]);
echo "$line <br>";
}
?>
Codice HTML:
</div>
</body>
</html>
pop.php:
Codice HTML:
<html>
<head>
<style type="text/css">
#divv {
text-align: center;
margin-top: 80px;
}
.img {
cursor: pointer;
}
</style>
<script type="text/javascript">
function emoticons(str) {
space = " ";
window.opener.document.forms[0].testo.value = window.opener.document.forms[0].testo.value+space+str+space;
return false;
}
</script>
<title>Emoticons</title>
</head>
<body>
<div id="divv">
Codice PHP:
<?php
$facc = array(":D",":oops:",");","(;");
for ($i=0;$i<4;$i++) {
echo "<img class=\"img\" src=\"$i.gif\" onclick=\"emoticons('$facc[$i]')\"> ";
}
?>
Codice HTML:
</div>
</body>
</html>
Pagina di test: http://gabryhacker.altervista.org/es...vo/scrivi.html