Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: News / Comment Script pohja

Sivun loppuun

Thief [14.01.2004 00:24:21]

#

Elikkäs tässä on "taas" tämmönen News / Comment systeemi.
Scripti on vasta alkutekijöissä ja tämä toimii pohjana myöhempään versioon (ainakin toivottavasti). Tallennus muoto on vielä kehittelyssä. Ban reporttikin on vähä vaihees.

Toimiva versio:
http://tiiffi.ath.cx/TESTING/oma_news/news.php

Pientä kommenttiä voisi olla hyvä saada siitä kaikkie tuntemasta tietoturvasta, parannusehdotuksia, haukkuja / kehuja, siisteydestä.. Tämä kaikki koska ko. skripti on esikoiseni eli ensimmäistä kertaa yritän peehoopeellä jotain vääntää... Ja pakollinen smaili perään. :D

<?php
/////////////////////////////
// © Copyrights Tiiffi 2003//
// http://tiiffi.ath.cx    //
/////////////////////////////
//                         //
// Html/php - strip        //
// Html/php - BAN          //
// Empty posts now allowed //
//                         //
/////////////////////////////


/////// SETTINGS /////////////////

$datafile = 	"data.txt";				//File where news / comments are posted
$afterpost = 	"data.txt";				//File where you will be redirected after posting
$htmlstrip = 	true;					//html strip: TRUE or FALSE
$allowedtags =  "<b></b><i></i><u><u/><a></a>";		//allowed html tags
$time=date	("H:i:s j.n.Y");			//time format



$post = str_replace('<a href=\"', '<a href=', $post);
$post = str_replace('">', '>', $post);
$caption = str_replace('<a href=\"', '<a href=', $caption);
$caption = str_replace('">', '>', $caption);



if($htmlstrip == true)			//If html strip is activated, html tags will be stripped.
{
   $post = strip_tags($post);
   $caption = strip_tags($caption);
}


if (isset($_POST['submit']))		//Write to file when form is submitted
{



// Empty not allowed

if($caption == "")
     {
      header("Location: news.php");
      exit;
     }
if($post == "")
     {
      header("Location: news.php");
      exit;
     }


// Writing to file

  $write = fopen($datafile, "a");
  flock($write, 2);
  fwrite($write, $caption."|".$post ."|".$time."\r\n");
  flock($write, 3);
  fclose($write);


}
?>


<!--HTML-FORM-->

<table align="center">
 <td>
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  <table align="center">

   <tr>
    <td>caption:</font></td>
	<td><input type="text" name="caption" value="<?php echo $_POST['caption'] ?>"></td>
   </tr>
   <tr>
    <td>post:</font></td>
	<td><input type="text" name="post" value="<?php echo $_POST['post'] ?>"></td>
   </tr>
   <tr>
   	<td colspan="2"><input type="submit" name="submit" value="Send"></td>
   </tr>
  </table>
 </td>
</table>
<center>

<!--/HTML-FORM-->




<?php
// Info messages

if($htmlstrip == "true")
{
  echo "<br>HTML-Strip is activated.";		//html strip message
}

$allowedtags = str_replace("<","<",$allowedtags);
$allowedtags = str_replace(">",">",$allowedtags);
echo $allowedtags ." allowed.";				//allowed tags message



if (isset($_POST['submit']))
{
  header("Location: $afterpost");		//redirect after submitting
}

?>



</center>

Thief [14.01.2004 21:26:17]

#

Saatanan paska account systeemi
bugaa ohjelmpointiputkas.

sooda [15.01.2004 19:20:30]

#

kyllä huomaa että tää on vain alkutekijöissä :D

Thief [15.01.2004 19:37:55]

#

Heh.. oli pakko postata.. mutta pistän sitten valmiin version.. jos joskus sellanen tulee.

T.M. [15.01.2004 21:45:56]

#

Rumaa koodia. Ja olisi sen tulostuksenkin voinut sisällyttää tuohon.

Thief [15.01.2004 22:52:04]

#

Njoo.. Ei se voikkaan olla hienoa koodia kun en osaa tarpeeksi.. kaikki pitää tehdä monimutkaisesti vaikka pystysi yksinkertaisemmin. Enkä tulostusta edes tohon laita... mikä järki siinä on.

Draiz [16.01.2004 08:17:29]

#

lainaus:

Saatanan paska account systeemi
bugaa ohjelmpointiputkas.

Mitä sä omaa koodivinkkiä meet haukkumaan? :D

Thief [16.01.2004 09:58:36]

#

En kyllä tiedä miten tuo viesti tohon on joutunu.. se oli kommentti Ohjelmoitniputkan Koodin lisäys ja accountti härpäkästä.. Postasin ton sillo ku koodi ei ollu näkyvillä.. silloin sitä ei edes näkyny..

Niin jo tuosta kommentoinnista...
Olipa mahtavan informoiva tuo T.M urputus... Ehkä voisi pistää perusteluja niin oppisi korjaamaan virheet.....

T.M. [22.01.2004 02:43:33]

#

*ähh*, sori :( Tiedän miten ärsyttävää tälläiset urputukset ovat... Oon tainnut saada huonoja vaikutteita :P


Tässä sitten jotain perusteluja:

$datafile =     "data.txt";

Esimerkiksi tuossa on aivan turhaan noita ylimääräisiä välimerkkejä.

if($caption == "")
     {
      header("Location: news.php");
      exit;
     }

Ja tuossa taas nuo kaarisulkeet alkavat liian kaukaa, verrattuna muihin. Eikä tuo if-lause ala yhtään kauempaa vaikka sitä ennen oli toinen if-lause, joka taas tekee koodista vaikealukuisempaa.
Ekalla kerralla etsin sitä if-lausetta sieltä alusta, kun näin siellä lopussa yhden kaarisulkeen, kesti vähän aikaa ennenkuin huomasin sen :)

Ja sitten vielä tuo isset() funktion käyttö... En suosittele, sillä sehän on tosi jos se systeemi on selaimessa: "testi.php?joku=" eli arvoa ei ole, mutta isset() taas luulee että se on.. Suosittelen käyttämään pelkästään tarkistusta joka tarkistaa onko muuttuja tyhjä, tai onko se tyhjä trim() funktion kanssa. Esim:

if(trim($_GET['joku']) != ""){
    print"joku ei ole tyhjä";
}

Niin ja koska kyseessähän on kommenttiscripti, niin tuskin ketään hyödyttää kommenttiscripti, jonka kommentteja ei voi nähdä :P
Kyllähän sen tulostuksenkin voi tehdä yksinkertaisesti, eli ei siihen mitään über systeemejä kannatakkaan laittaa :)

Tulipas pitkä viesti.. toivottavasti ei paljoa virheitä :D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta