Mailing List del Fortunae LUG ============================ il blog si divide in un bel po' di parti diverse, tralascio su cos'e' un blog se qualcuno vuole usare il pannello di controllo, me lo dice che gli faccio user e password <!-- inizio BLOG --> <h3>fanolugBLOG</h3><hr /> <? include("blog.php"); ?> <a href="blog.php?tutto=tutto">visualizza tutto il blog</a> <!-- fine BLOG --> inanzitutto ho mezzo sto pezzo di codice va indesito nell'index.php , io l'ho messo sotto il banner, il risultato andatevelo a vedere sl sito del lug in piu' ho fatto sto file, chiamato blog.php <? $link = mysql_connect("localhost", "flug", "PASSWORD")or die("Could not connect"); $db = mysql_select_db("LUG") or die("Could not select database"); //questo fa la connessione al database e seleziona quello nostro //chiamato LUG appunto if ($HTTP_GET_VARS['tutto'] == "") //questo getta dall'url la variabile tutto //se non c'e' non lo caga e va a printare il resto //ho messo sta cosa perche' la pagina iniziale visualizza //solo le ultime 3 entry del blog, se uno vuole leggersi quelle piu' //vecchie clicka nel link apposito che e' blog.php?tutto=tutto //quindi si capisce il perche' di questa cosa { $query = "SELECT * FROM blog"; $result = mysql_query($query) or die("Query failed"); //fa una query nella tabella blog e prende su tutto $array=array(); //crea un array vuoto while ($elementi = mysql_fetch_array($result)) { array_push($array, $elementi[0]); } //prende la roba che viene fuori dalla query e li mette tutti //in nell'array vuoto rsort ($array); //inverte l'ordine degli elementi dell'array while ($elementi = mysql_fetch_array($result)) { array_push($array, $elementi[0]); } //questo ... uhm... fa la stessa cosa... ma... perche? //perche' ho scritto sta cosa?? pero' funziona, quindi non tocco nulla :) $contoglielementi=count($array); //conta quanti elementi ci sono nell'array if ($contoglielementi <= 3) { $query_id= "SELECT day, nick, testo FROM blog ORDER BY id DESC"; } //se ci sono 3 o meno elementi stabulsce quella query da poi passare //a mysql //spiego la query //seleziona i campi day nick e testo dalla tabella blog ordinati //secondo l'id nel senso inverso else { $query_id = "SELECT day, nick, testo FROM blog WHERE id=$array[0] OR id=$array[1] OR id=$array[2] ORDER BY id DESC"; } //se $contoglielementi risulta essere piu' grande di 3 //allora mette sta query, che e' come quela di prima, solo che prende gli //id piu' altri, quindi quelli inseriti per ultimo (ecco forse spiegato //quell'ordinamento balordo inverso dell'array prima, forse $db = mysql_select_db("LUG") or die("Could not select database"); $result_id = mysql_query($query_id) or die("Query failed"); //faccio la nuova query, che e' viene fuori dal ciclio inf while ($row = mysql_fetch_array($result_id)) { echo "oggi $row[0] <b>$row[1]</b> ha scritto : <br />$row[2]<br /><hr />"; } // e printo il risultato messo ordinato dal piu' nuovo } elseif($HTTP_GET_VARS['tutto'] == "tutto") //questo e' il coso che spiegavo sopra //se viene caricato blog.php con la variabile tutto //allora fa sto pezzo sotto, senno' faceva quello sopra //oppure quello piu' sotto ancora { include 'include/head.xhtml'; //qua include head.xhtml che e' il coso con tutti i menu' //roba che viene inclusa su ogni pagina echo "<h1>fanolugBLOG</h1>"; //beh... $query = "SELECT * FROM blog"; $result_tutto = mysql_query($query) or die("Query failed"); //butta su un'altra query dove seleziona tutto dalla tabella blog while ($row = mysql_fetch_array($result_tutto)) { echo "oggi $row[1] <b>$row[2]</b> ha scritto : <br />$row[3]<br /><hr />"; } //questo printa tutte le entry del blog include 'include/foot.xhtml'; //include il resto degli include } else { echo "non fregare...<br />"; } //se uno chiama direttamente la pagina blog.php scrive sta cosa ?> e ora passiamo al pannello di controllo del blog andando su login del menu' a sinistra chiede username e password chiede pure la mail ma tanto poi non ci fa nulla (se volete un username e password dovete dirlo a me) <? $cookie_user=$_COOKIE["user"]; $cookie_passwd=$_COOKIE["passwd"]; $link = mysql_connect("localhost", "flug", "PASSWORD")or die("Could not connect"); $db = mysql_select_db("LUG") or die("Could not select database"); $query = "SELECT * FROM login"; $result = mysql_query($query) or die("Query failed"); $dati = array(); while ($row = mysql_fetch_array($result)) { for($j=0; $j<mysql_num_fields($result); $j++) { array_push($dati, $row[$j]); } } if ($dati[1] == $cookie_user && $dati[2] == $cookie_passwd) { //tutto sto popo' di roba serve a verificare l'identita' dell'utente //siccome ve l'ho gia' spiegato in altri post ora non ho voglia //di rispiegarlo, dovevate stare attenti :) ?> <html><body> <form method="post" action="saveblog.php"> Nick<br /><INPUT type="TEXT" name="nick"><br /> Testo<br /><TEXTAREA name="testo" rows="10" cols="20"></textarea><br /> <INPUT type="SUBMIT" value="chu'"> </form> </table> <br /> //questo banalmente e' un form che richiama saveblog.ph //passandogli con POST due variabili, il nick e il testo <a href="controlpanel.php">Pannello di controllo</a> //questo e' un semplice link al pannello di controllo <? } else { echo "login fallito<br /><a href=\"index.php\">riprova</a>"; //se all'inizio non riconosce l'utente //esce } ?> </body></html> e ora saveblog.php <? $cookie_user=$_COOKIE["user"]; $cookie_passwd=$_COOKIE["passwd"]; $link = mysql_connect("localhost", "flug", "iorulez")or die("Could not connect"); $db = mysql_select_db("LUG") or die("Could not select database"); $query = "SELECT * FROM login"; $result = mysql_query($query) or die("Query failed"); $dati = array(); while ($row = mysql_fetch_array($result)) { for($j=0; $j<mysql_num_fields($result); $j++) { array_push($dati, $row[$j]); } } if ($dati[1] == $cookie_user && $dati[2] == $cookie_passwd) { //come sopra, per riconoscere l'utente /////////////////////////////////////// $nick=$HTTP_POST_VARS["nick"]; $testo=$HTTP_POST_VARS["testo"]; $nick = ereg_replace("<.>", "", $nick); $testo = ereg_replace("<.>", "", $testo); //getta con POST le due variabili e ci leva i cancelletti se uno //sta cercando di fare il furbo, anche se si potrebbe fare il furbo lo stesso $id=''; $day=date("Y-m-d"); //mette $id vuota e setta la data secondo il nostro formato $link = mysql_connect("localhost", "flug", "PASSWORD")or die("Could not connect"); $db = mysql_select_db("LUG") or die("Could not select database"); //ffff... si connette sempre al database $insert_query="INSERT INTO blog VALUES ('$id', '$day', '$nick', '$testo')"; //inserisce i nostri dati nella tabella blog $result = mysql_query($insert_query) or die("Query failed"); //se c'e' un errore lo dice echo "<html><body>Fatto. E' stato aggiunto nel blog la seguente roba :<br>"; echo "oggi $day <b>$nick</b> ha scritto : <br />$testo<br /><hr />"; ?> <br /><a href="adminblog.php">Aggiunti un altro coso</a><br /> oppure <br/><a href="controlpanel.php">Torna al pannello di controllo</a><br /> //questi sono i menu' finali <? } else { echo "login fallito<br /><a href=\"index.php\">riprova</a>"; } ?> </body></html> //questo ve l'ho gia' detto //vi ricordo che mi stipendia lo stato mentre faccio queste cose :) -- <Gecco> quando ti troverai per lavoro chiuso in una stanzetta senza nulla tranne il tuo portatile e nethack, vedrai quanto e` divertente.