Jump to content

Recommended Posts

Posted

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 ^^

Guest
This topic is now closed to further replies.
×
×
  • Create New...