E-učenje > PHP Tutorijali

 
Želiš pristup svim sekcijama?

Registracija  




Tutorijal: PHP skripta - odeljak sa komentarima

 

Odeljak sa komentarima (kao na ovom sajtu)

Korak 1. Pozicionirajte se u htdocs direktorijum (podsetnik u prvom tutorijalu). Kreirajte direktorijum pod imenom "komentari" u direktorijumu htdocs.

Korak 2. Pomoću phpMyAdmin-a (podsetnik: 2. tutorijal) kreirajte u ranije kreiranoj bazi podataka "mojabaza" tabelu "komentari" pomoću sledećeg SQL upita:

 

CREATE TABLE `mojabaza`.`komentari` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`korisnik` VARCHAR( 30 ) NOT NULL ,
`poruka` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ;



Korak 3. Sada krećemo sa kreiranjem PHP stranice koja će sadržati formu za upis komentara i skriptu koja će tu formu procesuirati. Otvorite notepad i otkucajte sledeći HTML / PHP kod:

 
<h3>Komentari:</h3>
<form action="komentar.php" method="post">
Ime:<br />
<input type="text"  name="korisnik"  /><br />
Ostavi svoj komentar:<br />
<textarea name="poruka" cols="24" rows="5"></textarea><br />
<input type="submit" value="Posalji" />
</form>
<br />

<?php
// ovde upisite parametre vase konekcije
$konekcija = mysql_connect("localhost", "root") or die(mysql_error()); 
mysql_select_db('mojabaza', $konekcija) or die(mysql_error());
$poruka = $_POST['poruka'];
if ($poruka!="")
{
	$ubaci = " INSERT INTO komentari (korisnik, poruka)
     				VALUES ('".$_POST['korisnik']."', '".$_POST['poruka']."')";
    $upit = mysql_query($ubaci);
    // promenite DESC u ASC ako zelite da izlaz bude sortiran od najstarije poruke ka najnovijoj
    $rezultat = mysql_query("SELECT * FROM komentari ORDER BY id DESC");  
    while($red = mysql_fetch_array($rezultat))
    {
    	echo "<span  style=\"color:#F00\">$red[korisnik]</span>";
        echo " <br>";
        echo $red['poruka'];
        echo " <br>";  
        echo " <br>";
	}
}
else
{
	$rezultat = mysql_query("SELECT * FROM komentari ORDER BY id DESC");
    while($red = mysql_fetch_array($rezultat))
    {
     	//ovde smo izabrali boju kojom ce biti prikazano ime komentatora
        echo "<span  style=\"color:#F00\">$red[korisnik]</span>";
        echo " <br>";
        echo $red['poruka'];
        echo " <br>";  
        echo " <br>";
     }
}
?>

Korak 4. Sačuvajte fajl pod imenom "komentar.php" u direktorijum "komentari" kojeg smo kreirali u direktorijumu "htdocs".

Korak 5. Kucajte u adresnu liniju Vašeg brovsera:

http://localhost/komentari/komentar.php

i proverite kako radi Vaša nova PHP skripta.

Kliknite na "demo" da pogledate kako radi ova PHP skripta: Demo



Tvoja preporuka:


Preporučujem tutorijal (985) Ne preporučujem tutorijal (332)



Komentari / Pitanja:

Ime:

Tvoja e-mail adresa:

Ostavi svoj komentar:

Spam zaštita:
 

Vaše mišljenje je veoma važno. Ukoliko imate bilo kakav komentar na tutorijal, ili nešto da dodate, izmenite ili ukoliko ste primetili grešku, ne ustručavajte se da podelite sa svima Vaše mišljenje.

Takođe, ukoliko imate bilo kakvo pitanje u vezi tutorijala, postavite ga ovde. Lakše ćemo doći do rešenja ako više nas učestvuje u rešavanju problema.

     


Ukupno komentara: 16


Ivan
06.10.2017 11:24 h
  Evo opet mene :) Znam da nije tema ali potrebna mi je pomoc, kako se aktivira read more. Tj kada kliknemo na Procitaj vise na primer neki clanak da nam otvori ostatak teksta i kada opet kliknemo na isto da se vrati u prvobitan polozaj. Hvala jos jednom!

Darko
06.10.2017 11:17 h
  Guglaj npr jquery toggle.

Ivan
06.10.2017 11:16 h
  Evo opet mene :) Znam da nije tema ali potrebna mi je pomoc, kako se aktivira read more. Tj kada kliknemo na Procitaj vise na primer neki clanak da nam otvori ostatak teksta i kada opet kliknemo na isto da se vrati u prvobitan polozaj. Hvala jos jednom!

Ivan
06.10.2017 11:14 h
  Evo opet mene :) Znam da nije tema ali potrebna mi je pomoc, kako se aktivira read more. Tj kada kliknemo na Procitaj vise na primer neki clanak da nam otvori ostatak teksta i kada opet kliknemo na isto da se vrati u prvobitan polozaj. Hvala jos jednom!

Milos
01.06.2017 14:50 h
  Postovani, imam sledeci problem. U bazi imam tabelu "korisnici" i tabelu "komentari". Imam par strana na sajtu na kojima ubacujem komentare iz TEXTAREA forme u istu tabelu "komentari". Moje pitanje glasi kako da na svakoj strani, za svaku vest posebno ispisujem komentare vezane samo za tu vest. Nadam se da me razumes. Pozdrav.

Dobrosav
29.01.2017 17:26 h
  Super si

goran
17.11.2016 12:53 h
  NE RADI ????? Kliknite na "demo" da pogledate kako radi ova PHP skripta: Demo

dobrica
04.07.2013 22:50 h
  Kada sve ovo iskucam prijavljuje mi grešku:Notice: Undefined index: poruka.Kada upišem ime i komentar u bazu ne stiže mi to što sam upisala već se doda red ali u polja piše nula.Predpostavljam da je ta greška problem.Jel može neko da mi objasni o čemu se radi?

NoName
06.03.2013 05:25 h
  Zanima me kako da ograničim da mi na jednoj stranici prikazuje recimo 10 komentara, a da ostali komentari budu na sledećoj strani. Evo slika da ne dužim sa objašnjavanjem. http://i75.servimg.com/u/f75/16/49/22/18/koment11.png

superneminator
27.11.2011. 20:13 h
  Razjasnjeno. Hvala lepo.

Darko Petrović
27.11.2011. 10:50 h
  @superneminator
Ovako,
$rezultat = mysql_query("SELECT * FROM Korisnici")
ću učitati svekolone i sve redove iz tabele korisnici, a kroz WHILE petlju se "propuštaju" red po red tabele, a u zavisnosti od SELECt-a, ako si recimo uz SELECT dodao i WHERE klauzulu, onda će se rezultati listati prema toj klauzuli.

Recimo ovako, imaš tabelu korisnici sa kolonama: id, ime, prezime, i podatke u tabeli, recimo:

1. Darko Petrovic
2. Marko Markovic
3. Milos Milosevic

Sad, hoćeš da prikažeš prezime Darka Petrovića, praviš recimo ovakav SELECT:

SELECT prezime FROM korisnici WHERE id = 1;
while($red = mysql_fetch_array($rezultat)) 
{ 
     echo $red['prezime'];
}

superneminator
26.11.2011. 20:05 h
  Sve pohvale za sajt. Zgodno bi bilo kad bi ubacio komentare i na e-kursevima da korisnici odmah razjasne ako im nesto nije jasno. Mene buni sledeci blok naredbi: $rezultat = mysql_query("SELECT * FROM Korisnici"); //ovim selektujemo sve korisnike iz kolome korisnici i to kapiram.buni me ova while petlja. Da imamo tabelu na listu papira sta bi ona radila? Cini mi se kao da sva imena trpa u nekakav niz a onda stampa element po element tog niza koji je oznacen sa 'red'. Ako nisam u pravu sta radi promenljiva red na onom listu papira:)?malo banalizujem ali ako ne znam kako bi to manuelno odradio sa ovom prom. 'red' od razumevanja koda nema nista.hvala unapred!!!:) while($red = mysql_fetch_array($rezultat)) { echo $red['Ime'] . " " . $red['Prezime']; echo "
"; } mysql_close($konekcija); ?>

m1rso
01.04.2011. 11:05 h
  veoma kroistan tutorijal

Darko Petrović
18.03.2011. 22:23 h
  Hehehe, pogledah demo pa mi je jasno zašto miliš da nedostaje spam zaštita :)

Bojke
16.03.2011. 20:05 h
  Mogao si ubaciti i spam zastitu negdje...:)

slavkan
26.02.2011. 18:15 h
  nije lose