Salve a tutti, volevo creare un guestbook particolare. Ciò che volevo realizzare è semplice:
- In una pagina X un utente può inserire in un form il proprio nome, e basta, solo un nome, ed inviarlo;
- Il nome scritto dall'utente viene visualizzato in un altra pagina Y, differente dalla X;
Ora ho trovato questo soergente, di un normale guestbook, che ha come campi: Nome e Testo (che sarebbe un commento). E direttamente sotto a questi campi apparirà il messaggio che si invia. Cosa totalmente differente da quella che vorrei realizzare io, ma dato che non so scrivere sorgenti, anche così banali, da 0, ho dovuto usare una base:
[PHP]<?php
// © 2011 http://bwoord.com
//variabili
$db_host = "localhost";
$db_user = "nome_utente";
$db_pass = "password";
$db_name = "nome_del_database";
//apro la connessione
$conn = mysql_connect($db_host,$db_user,$db_pass);
//seleziono il database e tabella
$select = mysql_select_db($db_name,$conn);
if(!isset($_POST['submit'])){
echo '<form action="#" method="post">
<table border="0" cellpadding="1"><td><table border="0""><tr><div style="background: #dadada url(http://bwoord.com/sites/all/themes/s...s/menu-bgg.png) repeat-x; border:1px dotted blue; padding:4px; "> <font color="003366">Nome:</font></div></tr><tr></td></table><div style="background: #dadada url(http://bwoord.com/sites/all/themes/s...s/menu-bgg.png) repeat-x; border:1px dotted blue; padding:0px; "><center><input type="text" name="nome" /></center></div></tr></table>
<table border="0" cellpadding="1" width="407"><td><div style="width:100%; background: #dadada url(http://bwoord.com/sites/all/themes/s...s/menu-bgg.png) repeat-x; border:1px dotted blue; padding:4px; "> <font color="003366">Testo:</font></div></td></table> <table border="0"><tr><td> <div style="background: #dadada url(http://bwoord.com/sites/all/themes/s...s/menu-bgg.png) repeat-x; border:1px dotted blue; padding:0px; "><textarea name="testo" cols="48" rows="5"></textarea></div></tr><tr></td><td> <div align="right"><input type="submit" name="submit" value="Invia il messaggio" /></div></td></tr></table> </form> ';
$fatto = mysql_query("SELECT * FROM commenti");
$num_of_rows=mysql_num_rows($fatto);
if ($num_of_rows > 0) {
echo '
<big>Commenti:</big>
<table border="0" cellpadding="1"><td><font color="green">'.$num_of_rows.'</font> commenti</td></table>
';
while ($row = mysql_fetch_assoc($fatto)){
$row[testo] = str_replace("<", "<", $row[testo]);
echo '<table border="0" width="420"><td>
<div style="background: #dadada url(http://bwoord.com/sites/all/themes/s...s/menu-bgg.png) repeat-x; border:1px dotted blue; padding:5px; "> <font color="003366">'.$row[nome].'</font></div> <div id="linki" style="background-color:#F3F7FE; border:1px dotted blue; padding:5px; "><font color="003366">'.$row[testo].'</font></div>
</td></table> ';
}
}else{
echo "Nessun commento";
}
}else{
$nome = mysql_real_escape_string($_POST['nome']);
$testo = mysql_real_escape_string($_POST['testo']);
if(!$nome){
if(!$testo){
Echo '<font color="red">Devi inserire il nome e il testo!</font> | Riprova';
}else{
echo '<font color="red">Devi inserire il nome!</font> | Riprova';
}
}elseif(!$testo){
Echo '<font color="red">Devi inserire il testo! </font> | Riprova';
}else{
$insert = "INSERT INTO commenti(nome,testo) VALUES ('$nome','$testo')";
$result = mysql_query($insert,$conn);
if ($result){
echo '<font color="green"><u>messaggio inviato</u> | aggiorna</font>';
}else{
echo "Errore nell'invio della query";
}
}
mysql_close($conn);
}
?>
Ciò che bisogna fare sarebbe: Eliminare l'inserimento del 'Testo' e fare in modo che la visualizzazione dei nomi inseriti si trovi in una pagina differente da quella in cui si inseriscono i suddetti. Ora ho provato a fare così.. ma niente proprio:
visualizzazione.php
Codice PHP:
<?php $fatto = mysql_query("SELECT nome FROM commenti");
$num_of_rows=mysql_num_rows($fatto);
if ($num_of_rows > 0) {
echo '
<big>
Nome:</big>
<table border="0" cellpadding="1"><td>[size="1"]<font color="green">'.$num_of_rows.'</font> commenti[/size]</td></table>
';
}
?>
inserimento.php
Codice PHP:
<?php
// © 2011 [url]http://bwoord.com[/url]
//variabili
$db_host = "localhost";
$db_user = "nome_utente";
$db_pass = "password";
$db_name = "nome_del_database";
//apro la connessione
$conn = mysql_connect($db_host,$db_user,$db_pass);
//seleziono il database e tabella
$select = mysql_select_db($db_name,$conn);
if(!isset($_POST['submit'])){
echo '<form action="#" method="post">
<table border="0" cellpadding="1"><td><table border="0""><tr><div style="background: #dadada url([url]http://bwoord.com/sites/all/themes/smokers/images/menu-bgg.png[/url]) repeat-x; border:1px dotted blue; padding:4px; "> [b]<font color="003366">Nome:</font>[/b]</div></tr><tr></td></table><div style="background: #dadada url([url]http://bwoord.com/sites/all/themes/smokers/images/menu-bgg.png[/url]) repeat-x; border:1px dotted blue; padding:0px; "><center><input type="text" name="nome" /></center></div></tr></table>
<table border="0" cellpadding="1" width="407"><td><div style="width:100%; background: #dadada url([url]http://bwoord.com/sites/all/themes/smokers/images/menu-bgg.png[/url]) repeat-x; border:1px dotted blue; padding:4px; "> [b]<font color="003366">Testo:</font>[/b]</div></td></table> <table border="0"><tr><td> <div style="background: #dadada url([url]http://bwoord.com/sites/all/themes/smokers/images/menu-bgg.png[/url]) repeat-x; border:1px dotted blue; padding:0px; "><textarea name="testo" cols="48" rows="5"></textarea></div></tr><tr></td><td> <div align="right"><input type="submit" name="submit" value="Invia il messaggio" /></div></td></tr></table> </form> ';
$row[testo] = str_replace("<", "<", $row[testo]);
echo '<table border="0" width="420"><td>
<div style="background: #dadada url([url]http://bwoord.com/sites/all/themes/smokers/images/menu-bgg.png[/url]) repeat-x; border:1px dotted blue; padding:5px; "> [b]<font color="003366">'.$row[nome].'</font>[/b]</div> <div id="linki" style="background-color:#F3F7FE; border:1px dotted blue; padding:5px; "><font color="003366">'.$row[testo].'</font></div>
</td></table> ';
}else{
$nome = mysql_real_escape_string($_POST['nome']);
$testo = mysql_real_escape_string($_POST['testo']);
if(!$nome){
if(!$testo){
Echo '<font color="red">Devi inserire il nome e il testo!</font> | [url=""]Riprova[/url]';
}else{
echo '<font color="red">Devi inserire il nome!</font> | [url=""]Riprova[/url]';
}
}elseif(!$testo){
Echo '<font color="red">Devi inserire il testo! </font> | [url=""]Riprova[/url]';
}else{
$insert = "INSERT INTO commenti(nome,testo) VALUES ('$nome','$testo')";
$result = mysql_query($insert,$conn);
if ($result){
echo '<font color="green"><u>messaggio inviato</u> | [url=""]aggiorna[/url]</font>';
}else{
echo "Errore nell'invio della query";
}
}
mysql_close($conn);
}
?>
Mi dareste una mano a realizzare ciò che chiedo, o meglio, mi fareste capire dove sbaglio?