Su šia pamoka sužinosite kaip tai padaryti.
Ko mums prireiks?
● Hostingo su galimais MySQL prisijungimais
● COM SQL draiverių ( Nuorodas mato tik NARIAI. Prisiregistruokite arba Prisijunkite. )
● Paruoštos svetainės kurioje talpinsite balsavimo duomenis
Pirmiausia susikuriame naują .php failą su pavadinimu vote.php ir įkopijuojame viską į jį iš čia:
- Kodas: Pasirinkti visus
<?php
$host="localhost";
$username="YOUR MYSQL USERNAME";
$password="YOUR MYSQL PASSWORD";
$db_name="DATABASE NAME";
$link = mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$username=$_POST['username'];
$voteid = ($_POST['votenum']);
$username = stripslashes($username);
$username = mysql_real_escape_string($username);
$time = time();
$ip = $_SERVER['REMOTE_ADDR'];
if(clean_requests($time))
{
if(vote_entries($ip) == 0)
{
mysql_query("INSERT INTO Votes (username, ip, time, recieved) VALUES ('$username', '$ip', '$time', '0')", $link) or die("An internal error has occured please try again later.<br/>To go back click <a href='index.php'><b>HERE</b></a>");
header("Location: ".votenow($voteid)."");
}
else
{
die("You have already voted once today<br/>To go back click <a href='index.php'><b>HERE</b></a>");
}
}
else
{
die("An internal error has occured please try again later.<br/>To go back click <a href='index.php'><b>HERE</b></a>");
}
function clean_requests($time)
{
$query = mysql_query ( "SELECT * FROM Votes");
$i = 0;
while($row = mysql_fetch_array($query))
{
$i++;
$timerequested = $row['time'];
if($time-$timerequested > 12*3600)
{
if (!mysql_query( "DELETE FROM Votes WHERE time='$timerequested'"))
{
return false;
}
}
}
return true;
}
function vote_entries($ip)
{ $entries = mysql_query ( "SELECT * FROM Votes WHERE ip = '$ip'" );
if ( !$entries ) {
die ( "Unable to get number of entries: " . mysql_error () );
}
return mysql_num_rows ( $entries );
}
function votenow($votenum)
{
$url = "";
if($votenum)
{
switch($votenum)
{
case 1:
$url = "VOTE LINK 1;
break;
case 2:
$url = "VOTE LINK 2";
break;
case 3:
$url = "VOTE LINK 3";
break;
default: die("Error!"); break;
}
}
return $url;
}
?>
Jeigu kas nesugebate tai štai paruoštas Nuorodas mato tik NARIAI. Prisiregistruokite arba Prisijunkite.
Taigi pagal šį kodą galėsite įdėti tik 3 balsavimo svetaines. Jeigu norėsite daugiau rašykite čia, nors nemanau, kad yra sunku tai pasidaryti
Toliau susikuriame naują duombazę. Manau neaiškinsiu kaip tai daryti.
Susikūrus naują duombazę einame į phpMyadmin ir įeiname į naujai sukurtą duombazę kuri turėtų atrodyti taip:
- Kodas: Pasirinkti visus
CREATE TABLE IF NOT EXISTS `votes` (
`username` char(50) DEFAULT NULL,
`ip` char(50) DEFAULT NULL,
`time` int(50) DEFAULT NULL,
`recieved` int(1) DEFAULT NULL
)
Toliau susikuriame vote.html failą ir patalpiname į jį šį kodą:
- Kodas: Pasirinkti visus
<form name="form" method="post" action="vote.php">
Username: <input name="username" type="text" id="username">
Vote # <select name="votenum">
<option value="1">VOTE WEBSITE 1</option>
<option value="2">VOTE WEBSITE 2</option>
<option value="3">VOTE WEBSITE 3</option>
</select><br/><br/>
<input type="submit" value="Vote!"/>
</form>
Vietoje skaičių įrašykite balsavimo nuorodas. Kaip pavyzdžiui turėtų atrodyti:
- Kodas: Pasirinkti visus
<form name="form" method="post" action="vote.php">
Username: <input name="username" type="text" id="username">
Vote # <select name="votenum">
<option value="runescape.lt/vote/nicklickmick12">VOTE WEBSITE 1</option>
<option value="balsuok.lt/runescape/tomax079">VOTE WEBSITE 2</option>
<option value="voters.org/vote/userx">VOTE WEBSITE 3</option>
</select><br/><br/>
<input type="submit" value="Vote!"/>
</form>
Jeigu nereikia visų trijų nuorodų naudokite vietoje svetainės adreso ženklą "#"
Toliau 6ioje vietoje daug žmonių susikerta. Pridėkite atsisiūstus COM draiverius į savo serverio failus ir sukurkite naują Java failą pavadintą MYSQL.java. Į jį įdėkite:
- Kodas: Pasirinkti visus
import java.sql.*;
import java.security.MessageDigest;
public class MYSQL {
public static Connection con = null;
public static Statement stm;
public static void createConnection() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/database", "username", "password");
stm = con.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
public static ResultSet query(String s) throws SQLException {
try {
if (s.toLowerCase().startsWith("select")) {
ResultSet rs = stm.executeQuery(s);
return rs;
} else {
stm.executeUpdate(s);
}
return null;
} catch (Exception e) {
misc.println("MySQL Error:"+s);
e.printStackTrace();
}
return null;
}
public static void destroyCon() {
try {
stm.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static boolean checkVotes(String playerName)
{
try {
Statement statement = con.createStatement();
String query = "SELECT * FROM Votes WHERE username = '" + playerName + "'";
ResultSet results = statement.executeQuery(query);
while(results.next()) {
int recieved = results.getInt("recieved");
if(recieved == 0)
{
return true;
}
}
} catch(SQLException e) {
e.printStackTrace();
}
return false;
}
public static boolean voteGiven(String playerName)
{
try
{
query("UPDATE Votes SET recieved = 1 WHERE username = '" + playerName + "'");
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
}
Susirandame (ctrl+F)
- Kodas: Pasirinkti visus
"jdbc:mysql://127.0.0.1/database", "username", "password"
Pasikeičiame į savo duomenis.
Toliau einame į savo prisijungimo metodą, susirandame tą vietą kur žmogus prisijungęs gauna pasveikinimą ir apačioje patalpiname:
- Kodas: Pasirinkti visus
if(MYSQL.checkVotes(playerName)){
if(freeSlots() > 2)
{
if(MYSQL.voteGiven(playerName))
{
giveItem(995,5000000);
sendMessage("Thank you for voting!");
}
}else{
sendMessage("You do not have enough free space to receive items");
}
}
Štai ir viskas. Eikite į savo svetainę, pvž runescape.lt/vote.html , pasirenkame kur balsuosime ir gauname pinigus dar kartą prisijungę į serverį
P.S. Jeigu norite keisti pinigų kiekį keiskite skaičius:
- Kodas: Pasirinkti visus
giveItem(995,5000000);
Sveiki atvyke į Counter Strike Godlike.lt - CS, CSS, GTA ir visa kita!. Spausk čia registruotis











