Uutisskripti adminpaneelilla

Uutisskripti adminpaneelilla

Viesti Freelanceri 22 Joulu 2006 11:21

Eli tämmöinen väsäys. Muistakaa laittaa adminpaneelin jonnekkin suojattuun kansioon, niin muut eivät voi käydä sähläämässä ylimääräisiä asioita.

-----

Aloitetaan tietokannasta, luo uusi tietokanta ja anna sen nimeksi "uutiset". Lisää siihen 5 kenttää, jotka ovat: id, aika, aihe, asia ja kirjoittaja.

Laitetaan id:lle seuraavat asetukset: tyyppi: int, lisätiedot: auto_increment ja toiminnot: ensisijainen.

Muille riittää, kun tyypiksi laittaa text ja ei muita säätöjä sitten.


Muokkaa headerin asetukset omiksesi.

--- header.php ---
Koodi: Valitse kaikki
<?PHP

function AvaaTietokanta ($osoite = "localhost",$tietokanta="tietokanta")
{
   $yhteysnumero = mysql_connect($osoite,"käyttis","passu");
   mysql_select_db("tietokanta");

   return $yhteysnumero;

}

?>


Lisää etusivulle seuraava koodi sinne minne haluat uutisten tulevan:
Koodi: Valitse kaikki
<?PHP include("uutiset.php"); ?>


Ja tässä itse uutiset.php tiedoston koodi.

--- uutiset.php ---
Koodi: Valitse kaikki
<?php
$yhteys = AvaaTietokanta();
if (!$kysely = mysql_query("select count(*) from uutiset", $yhteys))
{
   print "Uutisia ei saatavilla. ";
}
else
{
   $sisalto = mysql_fetch_row($kysely);
}
if (!$kysely = mysql_query("select * from uutiset order by id DESC",$yhteys))
{
    print "<LI>&nbsp;Haku epäonnistui!";
}
else
{
  while ($yhteys = mysql_fetch_row($kysely))
  {

    print $yhteys[2] . " - " . $yhteys[1];
    print "<br><br>";
    print $yhteys[3] . "<br><br>";
    print "Kirjoittaja: " . $yhteys[4];
    print "<br><hr align=\"left\" width=\"50%\"><br>";

  }
}
?>


Ja tämän jälkeen siirrymme adminpaneelin koodeihin. Header-tiedosto on sama kuin ylläoleva, joten sitä en uusiksi pistä. Muistakaa kopioida tuo header.php-tiedosto adminpaneelin kansioon.

--- lisays.php ---
Koodi: Valitse kaikki
<?PHP
        include("header.php");
   $yhteys = AvaaTietokanta();
?>
     
      <form method="post" action="tallennettu.php">
<span class="teksti">Aika (pp.kk.vvvv - hh:mm) :</span><br> <input type=text name="aika" size=50 maxlength=50><br><br>
<span class="teksti">Kirjoittaja:</span><br> <input type=text name="kirjoittaja" size=50 maxlength=50><br><br>
<span class="teksti">Aihe:</span><br> <input type=text name="aihe" size=50 maxlength=200><br><br>
<span class="teksti">Asia:</span><br> <textarea name="asia" rows="8" cols="40"></textarea><br><br>

<button name="toiminto" type=Submit>Lähetä</button>
<button name="Reset" type=Reset>Tyhjennä</button>
</form>


Ja tietojen tallennus tietokantaan:
--- tallennettu.php ---
Koodi: Valitse kaikki
<?PHP
require "header.php";

   $yhteys = AvaaTietokanta();

   $sql_lauseke = 'insert into uutiset (aika, aihe, asia, kirjoittaja) values ("' . $_POST["aika"] . '","' . $_POST["aihe"] . '","' . $_POST["asia"] . '","' . $_POST["kirjoittaja"] . '") ';

if (!$kysely = mysql_query($sql_lauseke,$yhteys))
   {
    $sivunotsikko = "Tallennus epäonnistui! ";
     $teksti = "Virhe: " . mysql_error();
   }
    else
   {
      $teksti = "Tiedot tallennettu tietokantaan<br><br>";
       $teksti .= "Aika: " . $_POST["aika"] . "<br>";
       $teksti .= "Aihe: " . $_POST["aihe"] . "<br>";
       $teksti .= "Asia: " . $_POST["asia"] . "<br>";
       $teksti .= "Kirjoittaja: " . $_POST["kirjoittaja"] . "<br>";
   }
?>
[/b]
[piilotettu kuva]
- Autopelien ystäville

rFactor Legends Cars -modi

Parhaat Webhotellipalvelut: Edullinenwebhotelli.com
Käyttäjän avatar
Freelanceri
 
Viestit: 714

Viesti nipasenmaki 27 Joulu 2006 13:58

Ensinnäkään, ei ole tietoturvan kannalta hyväksi, ettei kooditageja poisteta tallennusvaiheessa.
Tämänkin olisi saanut yhteen tiedostoon jos olisi oikein halunnut. Eikä BR-tagien käyttöä kannata opettaa kenellekkään, koska foxytin niin sanoi.
[piilotettu kuva]
Käyttäjän avatar
nipasenmaki
 
Viestit: 794

Viesti d-hunter 27 Joulu 2006 22:41

Koodi ei näytä kovin yhtenäiseltä.. aivan kuin oltaisiin kopioitu jostain.

Toiseksi koodin laatu on surkeaa.
viewtopic43067.html ~~ Osta pelejä edullisesti ~~
Tietokone: Intel Pentium
d-hunter
 
Viestit: 1638

Viesti praKKA 30 Joulu 2006 00:39

Niin, kun teen noita "kenttiä", niin silloin, kun teen mysliin sinne "uutiset" tietokantaan taulua, niin siihenhän lisätään kentät. Eli tarkotakko kenttää tolla taululla?
Intel C2D E4400@vakio | 1Gb DDR2 800MHz (sitten joskus 2Gb) | 250Gb WD Caviar SE SATA | Club 3D GF 8600GT | Antec Sonata III | Asus P5B
Ajaahan ihmiset ylinopeutta, virittää mopoja ja ovat amiksia. - X-racer
Rapakuntoinen nörtti haastaa kaikki punnertamaan, pystyttekö?
Keksit loppu.
Käyttäjän avatar
praKKA
 
Viestit: 4876

Viesti nipasenmaki 30 Joulu 2006 02:03

Uskoisin, että hän tarkoitti uusi taulu johon 5 kenttää/saraketta.
[piilotettu kuva]
Käyttäjän avatar
nipasenmaki
 
Viestit: 794

Viesti SadnesS 02 Maalis 2007 15:05

Itseäni häiritsee mielettömästi <?PHP käyttö kun sen saisi siistimmin <?php . Tämä ihan oma mielipide, mutta jokainen tehköön itse miten tykkää.

Tosiaan, ei ole kauhean turvallista laittaa suoraan POST:illa tietokantaan tavaraa. Erittäin suuri tietoturvariski.

Olisi myöskin kannattanut koodata jonkunlainen login skripti tuohon lisays.php tiedostoon. Nämä jotka rakastavat Copy & Paste kikkailua jättävät mukavan aukon skriptiin. :D

Oppaita kun nämä ovat olisi myöskin skriptisi kommentointi ollut poikaa.
SadnesS
 
Viestit: 10

Viesti praKKA 02 Maalis 2007 22:10

Aivan, mutta ota huomioon, että sen koodin voi lisätä siihen passu-skriptin sisään.
Intel C2D E4400@vakio | 1Gb DDR2 800MHz (sitten joskus 2Gb) | 250Gb WD Caviar SE SATA | Club 3D GF 8600GT | Antec Sonata III | Asus P5B
Ajaahan ihmiset ylinopeutta, virittää mopoja ja ovat amiksia. - X-racer
Rapakuntoinen nörtti haastaa kaikki punnertamaan, pystyttekö?
Keksit loppu.
Käyttäjän avatar
praKKA
 
Viestit: 4876

Viesti SadnesS 03 Maalis 2007 18:17

praKKA kirjoitti:Aivan, mutta ota huomioon, että sen koodin voi lisätä siihen passu-skriptin sisään.


Totta, mutta pohdinkin näitä Copy & Paste hemmoja, jotka eivät tiedä tuollaisesta. :lol:
SadnesS
 
Viestit: 10

Palaa alueelle Ohjelmointioppaat