Evo mene opet, blago meni, opet ja
Konačno imam kod koji radi.
Poslušao sam ovo što su rekli holodoc i JovanT. I video sam zašto AnonymousCoward kaže da MySQL-ov rand() ni najgorem neprijatelju ne bi preporučio (
reason), ali ću to da isprobavam drugi put.
sada imam fajl
bapro.php koji izgleda ovako..
PHP kôd:
<?php
//Konekshn
include "db.php";
$rezultat = mysql_query("SELECT * FROM fraze ORDER BY RAND() LIMIT 1");
$red = mysql_fetch_assoc($rezultat);
$id = $_GET['id'];
if( empty($id)) {
srand(time());
$id=rand(1, mysql_result(mysql_query("SELECT COUNT('id') FROM fraze"), 0));
}
$rezultat2 = mysql_query("SELECT * FROM fraze WHERE id=$id");
$red2 = mysql_fetch_assoc($rezultat2);
// Broj fraza u bazi
$brojac = mysql_query("SELECT * FROM fraze");
$broj_u_bazi = mysql_num_rows($brojac);
//Računa trenutni rejting
$current = $red2[total] / $red2[votes];
//Ispisuje jednu, nasumično izabranu SMS poruku
echo "SMS dana: ";
echo $red2['tekst'] ."<br />";
//Ispisuje trenutni broj SMS-ova u bazi
echo "Broj SMS-ova u bazi je:";
echo $broj_u_bazi ."<br />";
//Ispisuje trenutni rejting poruke, zaokruzen na jednu decimalu
echo "Trenutni rejting ovog SMS-a je:";
echo round($current, 1) ."<br />";
//Link za generisanje slučajno odabranog sms-a iz baze
echo "<a href='?id=" . $red['id'] . "'>Prikaži sledeći SMS</a>" . "<br>";
//Linkovi za glasanje
$script = htmlentities($_SESSION['PHP_SELF'], ENT_QUOTES, 'utf-8');
echo "Oceni me: ";
echo "<a href=".$script."?mode=vote&voted=1&id=".$red2['id']."> 1</a> | ";
echo "<a href=".$script."?mode=vote&voted=2&id=".$red2['id']."> 2</a> | ";
echo "<a href=".$script."?mode=vote&voted=3&id=".$red2['id']."> 3</a> | ";
echo "<a href=".$script."?mode=vote&voted=4&id=".$red2['id']."> 4</a> | ";
echo "<a href=".$script."?mode=vote&voted=5&id=".$red2['id']."> 5</a> | ";
$mode = $_GET['mode'];
$voted = intval($_GET['voted']);
//bodovanje ocenama isključivo od 1 do 5
if(($voted < 1)||($voted>5)) die;
if ($mode=="vote")
{
//ubacuje ocene i broj glasova u bazu
mysql_query ("UPDATE fraze SET total = total+$voted, votes = votes+1 WHERE id = $id");
echo "<meta http-equiv='refresh' content='0;URL=bapro.php'>";
}
?>
i
db.php fajl koji izgleda ovako..
PHP kôd:
<?php
$hostname = "localhost";
$user = "root";
$password = "";
$base = "baza";
$db = mysql_connect($hostname, $user, $password) or die(mysql_error());
mysql_select_db($base, $db) or die(mysql_error());
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_unicode_ci'");
?>
(koliko sam se samo namučio da pokazuje č,ć,ž,š i đ

)
a preview u pretraživaču izgleda 'vako..
Sve funkcioniše kako treba..
Kada kliknem na "Prikaži sledeći SMS", on prikaže nasumično izabrani SMS.
Kad kliknem na ocenu, on oceni SMS koji treba i prikaže sledeći nasumično izabrani SMS.
E sad.. ono što mene zanima je sigurnost..
Ja sam samo ubacio ono što je AnonymousCoward rekao (intval() komandu)..
Da li postoji neka elementarna stvar koju sam propustio?
Nešto što bih morao da dodam, a nisam?
Treba li da stoji mysql_close( ) na kraju bapro.php fajla?
Jel sigurno da upload-ujem ovakav sajt i bazu?
Hvala unapred na odgovorima.