Jump to content

[Guide/Share] Create Your Own TopList [PHP]


Recommended Posts

Hello,

I want to teach you how to do a little topsite !

If you search something like this just read my topic !

 

OK Lets start !

 

1. You have to create a file named index.php

 

and insert there this code:

<?php
require_once('mysql_connect.php');

$query = "SELECT id, name, description, votes, hits FROM websites ORDER BY votes DESC LIMIT 50";
$result = mysql_query($query) OR die(mysql_error());

echo '<table border="0" cellpadding="7" cellspacing="7">
<tr>
<td><strong>Rank</strong></td>
<td><strong>Name</td>
<td><strong>Votes</td>
<td><strong>Hits</td>
</tr>
';

// Rank counter
$rank = 1;

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '<tr>
<td>'.$rank.'</td>
<td><a href="out.php?id='.$row['id'].'" target="_blank">'.$row['name'].'</a><br /><small>'.
$row['description'].'</small></td>
<td>'.$row['votes'].'</td>
<td>'.$row['hits'].'</td>
</tr>
';
$rank++;
}
?> 

 

NOTE: DESC LIMIT 50"; replace 50 with the number that you whant to be max for the register sites.

 

2. Create new file named add-site.php

And add this code:

<?php
// Ако Формата не е била попълнена
if (!isset($_POST['submitted'])) {
?>
<style type="text/css">


input {
color: #000;
text-decoration: none;
background: #F4F3F3;
border: 1px solid #ADAEAF;
font: normal 9pt verdana, arial;
}
input:hover {
background: #F4F3F3;
border: 1px solid #000;
}

.button {
background-color: black;
color: red;
font-size: 12px;
font-family: arial;
font-weight: bold;
}
</style>
<body>
<h3>Adding a web</h3>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">

<p><b>Website name:</b> <input type="text" name="name" size="25" maxlength="40" value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>" /></p>

<p><b>Website link:</b> <input type="text" name="url" size="25" maxlength="60" value="<?php if (isset($_POST['url'])) echo $_POST['url']; ?>" /></p>

<p><b>Site description:</b><br />
<textarea name="description" rows="5" cols="40"><?php if(isset($_POST['description'])) echo $_POST['description']; ?></textarea></p>


<p><div align="center"><input type="submit" name="submit" value="Add" /></div></p>

<input type="hidden" name="submitted" value="TRUE" />

</form>

<?php
}
else {

// MySQL connect
require_once('mysql_connect.php');

if (empty($_POST['name'])) {
echo '<font color="red">Please add the name of the site</font><br />';
$n = FALSE;
} else {
$name = $_POST['name'];
$query = "SELECT id, name FROM websites WHERE name = '$name'";
$result = mysql_query($query) OR die($mysql_error());
$num = mysql_num_rows($result);

if ($num > 0) {
$n = FALSE;
echo '<font color="red">There is a web with this name ! Please pick another one.</font><br />';
} else {
$n = mysql_real_escape_string($_POST['name']);
}
}

if (empty($_POST['url'])) {
echo '<font color="red">Please add link to your website.</font><br />';
$u = FALSE;
} else {
$u = mysql_real_escape_string($_POST['url']);
}

if (empty($_POST['description'])) {
echo '<font color="red">Please add description for your website.</font><br />';
$d = FALSE;
} else {
$d = mysql_real_escape_string($_POST['description']);
}

if ($n && $u && $d) {
$query = "INSERT INTO websites (name, url, description, password) VALUES ('$n', '$u', '$d', SHA('$p'))";
$result = mysql_query($query) OR die(mysql_error());

if ($result) {
echo '<h3>Thanks for your register.</h3>
<p>Your web was added. Please copy the vote code on your website.</p>';

$query = "SELECT id, name FROM websites WHERE name = '$n'";
$result = mysql_query($query) OR die(mysql_error());
$row = mysql_fetch_array($result, MYSQL_ASSOC);
?>
<div align="center">
<textarea name="code" cols="20" rows="2"><a href="Your website link/vote.php?id=<?php echo $row['id']; ?>">Vote for us !</a></textarea>
</div>
<?php

} else {
echo 'There is an error with adding your website !';
}
} else {
echo '<font color="red"><a href="add-site.php">Back.</a>';
}
}
?> 

 

NOTE: href="Your website link here add your website link

 

3. Create new file named mysql_connect.php

And Insert this code:

<?php
DEFINE ('DB_USER', 'root'); // Databace User (root)
DEFINE ('DB_PASSWORD', ''); // Databace Password
DEFINE ('DB_HOST', 'localhost'); // Databace Host
DEFINE ('DB_NAME', 'top'); // Databce name

$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error());

@mysql_select_db (DB_NAME) OR die('Could not select the database: ' . mysql_error() );
?> 

 

4. Create new file named out.php

and insert this code:

<?php
// Checs for the ID
if (isset($_GET['id']) && is_numeric($_GET['id'])) {

// MySQL Connect
require_once('mysql_connect.php');

$id = mysql_real_escape_string($_GET['id']);

// Add +1 Hits
$query = "UPDATE websites SET hits = hits + 1 WHERE id = $id";
$result = mysql_query($query) OR die(mysql_error());

unset($query);
unset($result);

$query = "SELECT id, url FROM websites WHERE id = $id";
$result = mysql_query($query) OR die(mysql_error());

$row = mysql_fetch_array($result, MYSQL_ASSOC);
$num = mysql_num_rows($result);
$url = $row['url'];

if ($num > 0) {
header ("Refresh: 0; url=$url");
} else {
echo '<font color="red">Error: There is no that kind of site.</font>';
}
} else {
echo '<font color="red">You have to choose web to visit.</font>';
}
?>

 

5. create new file vote.php

and add this code:

<?php
if (!isset($_POST['submitted'])) {

// Checs for the ID
if (isset($_GET['id']) && is_numeric($_GET['id'])) {

// MySQL Connect
require_once('mysql_connect.php');

$id = mysql_real_escape_string($_GET['id']);

$query = "SELECT id, name FROM websites WHERE id = $id";
$result = mysql_query($query) OR die (mysql_error());
$row = mysql_fetch_array($result, MYSQL_ASSOC);
?>
<strong>Do you whant to vote for "<?php echo $row['name']; ?>" ?</strong><br />

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="submit" name="vote" value="YES !" />
<input type="hidden" name="submitted" value="TRUE" />
<input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
</form>
<?php
} else {
echo '<font color="red">You have to choose web to vote for it !</font>';
}
} else {
// MySQL Connect
require_once('mysql_connect.php');

$id = mysql_real_escape_string($_POST['id']);

// Choose the web for votes
$query = "SELECT id, votes FROM websites WHERE id = $id";
$result = mysql_query($query) OR die(mysql_error());
$row = mysql_fetch_array($result, MYSQL_ASSOC);

$votes = $row['votes'];
$url = $row['url'];
$id = $row['id'];

$cookie_name = 'vote_'.$id;

if (!isset($_COOKIE['vote_'.$id])) {
// Adds +1 Votes
$votes++;

// Updates the votes
$query = "UPDATE websites SET votes = $votes WHERE id = $id";
$result = mysql_query($query) OR die(mysql_error());

setcookie ($cookie_name, 1, time()+86400, '/', '', 0);

echo 'Thanks ! Your vote was submited <a href="index.php">Index.</a>';
} else {
echo 'You can vote every 12 hours.';
}
}
?>

 

6. Now create a file named mysite.sql

and add this code in the file:

CREATE TABLE websites (
id INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
name VARCHAR(40) NOT NULL,
url VARCHAR(60) NOT NULL,
description VARCHAR(255) NOT NULL,
votes INT(11) UNSIGNED NOT NULL DEFAULT 0,
hits INT(11) UNSIGNED NOT NULL DEFAULT 0,
password CHAR(40) NOT NULL,
PRIMARY KEY(id)
);

 

Execute it with navicat and voala ! your topsite is ready !!!

 

NOTE: You have to create the look of the web that are only the scripts !!!

 

Credits for scripts: stoqnski (webTourist)

 

Credits for the Guide: ME ^^

Link to comment
Share on other sites

AWESOME Guide dude !!!

 

I thing to make a toplist for my self xD just need good template for my web :)

 

Thanks em0 ^^ If you have problems with creating the toplist reply me !

Link to comment
Share on other sites

thanks ... I will try to add some of this :(

 

but can some one share me the templates like hopzone/gamesites200 ...

 

 

Man if you need templates like hopzone etc you have to build them by your self or pay for them !

Link to comment
Share on other sites

  • 3 months later...
  • 5 months later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock