Начало Новини Маркет Проекти Форум ИТ Работа Уроци Скриптове WiFi точки Още Вход


Инструкция за проста PHP бутонна линк система в PHP / MySQL .

От Mutatos / 27.09.2011 10:52
Размер на шрифта: A | A | A

Този урок ще ви научи как да се изгради проста бутонна линкова система, за да следите за броя на посетителите.
Този урок ще изисква PHP и MySQL, така че, моля, бъдете сигурни, да ги имате. Урокът, ще е сравнително прост, нужна е  главна папка и админ папка, които ще бъдат защитени с парола. Създайте  административна папка, която е защитена с парола. Повечето панели имат способността да направят това. Ако не разполагате с контролен панел, отидете на http://www.javascriptkit.com/howto/htaccess3.shtml да се получи Htaccess ,парола за защита на директориите. Първо  трябва да създадете MySQL таблицата за този скрипт. Ще я назовем

affiliates_table  със следните полета.
affid - bigint, primary, auto-increment
url - varchar length 255
image - varchar length 255
hitsout - bigint


Вече сме създали таблица с база данни, ще започнем с файловете, които трябва да бъдат в папката админ (папка защитена с парола ).
Нуждаем се само от 5 файла :

connect.php -- The mysql Connection file
addlink.php -- add a link button
modbutton.php -- lists all the current buttons to modify and delete
editbutton.php -- Edit a button link
deletebutton.php - Delete the button


За лесна навигация поставете, моля поставете това най-отгоре на всички файлове в админ папката.
CODE
1
<A href='addlink.php'>Add a link</a> - <A href='modbutton.php'>Edit/delete buttons</a>

Това е просто хиперлинкс.

Сега ,ще преминем към connect.php  връзката на файла.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$db = mysql_connect("localhost", "username", "password") or die("Could not connect.");

if(!$db)

   
die("no db");

if(!mysql_select_db("database_name",$db))

    
die("No database selected.");

?>

Това е обикновен файл конектор,сложете MySQL потребителско име, парола и име на база данни, където е посочено,ще включите този файл в най-горната част на всички страници.

Сега ще направим addlink.php



CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php

include
"connect.php";

if(isset($_POST['submit']))

{

 
$url=$_POST['url'];

 
$button=$_POST['button'];

 
if(strlen($url)<1)

  {

     
print "You did not enter a URL.";

 
}

 
else if(strlen($button)<1)

  {

     
print "You did not enter a button.";

 
}

 
else

 
{

   
$insertbutton="INSERT into  affiliates_table (url, image) values('$url','$button')";

   
mysql_query($insertbutton) or die(mysql_error());

   
print "Button added into system.";

 
}



}

else

{

   
print "<form action='addlink.php' method='post'>";

   
print "URL(include http://):<br>;";

   
print "<input type='text' name='url' size='20'><br>";

   
print "Image(button URL):<br>";

   
print "<input type='text' name='button' size='20'><br>";

   
print "<input type='submit' name='submit' value='submit'></form>";

 

}

?>

Както виждате, този код има два случая, в случея ако бутона е натиснат и се е показало $ _POST ['Submit'], и друг случай, където тя просто отпечатва формуляр за вас да въведете бутон. Формата има две полета, URL област и областта на бутона URL. И двете полета са задължителни или когато изпратите формуляра, ще получите съобщение за грешка, което ви казва, че сте или не сте въвели URL или бутон. След като натиснете бутона, формата разпознава URL и URL бутона за запис, след това вмъква въведените данни с MySQL INSERT команда. Забележете, в първите скоби са имената на областите, в които сте създали в MySQL и нещата във вторите скоби са променливи  данни, които ще бъдат запълнени. Ако вмъкнете SQL  успешно трябва да се появи "Button added to system"в противен случай тя ще отбележи грешка, както е определено от mysql_error ().

Сега да отидем до modbutton.php:




CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

include
"connect.php";

$getbuttons="SELECT * from affiliates_table order by hitsout desc";

$getbuttons2=mysql_query($getbuttons) or die("Could not get buttons");

print "<table border='1'>";

print "<tr><td>Button link</td><td>Hits out</td><td>Edit</td><td>Delete</td></tr>";

while($getbuttons3=mysql_fetch_array($getbuttons2))

{

  
print "<tr><td><A href='$getbuttons3[url]' target='_blank'><img src='$getbuttons3[image]' border='0'></a></td>";

  
print "<td>$getbuttons3[hitsout]</td><td><A href='edit.php?ID=$getbuttons3[affid]'>Edit</a></td>";

  
print "<td><A href='delete.php?ID=$getbuttons3[affid]'>Delete</a></td></tr>";

}

print "</table>";

?>

Този код просто избира линка в базата данни и ги показва по брой hits , както сте ги  дали. Тези с най-голям брой  попадения са на първо място. Тя преминава верижно през заявката и отпечатва линка, брой на попаденията на връзката и два линка за да редактирате и изтривате линка.


Сега ние ще направим edit.php страница.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php

include
"connect.php";

if(isset($_POST['submit']))

{

  
$url=$_POST['url'];

  
$image=$_POST['image'];

  
$ID=$_POST['id'];

  
if(strlen($url)<1)

   {

     
print "You did not enter a url.";

  
}

  
else if(strlen($image)<1)

   {

     
print "You did not enter an image.";

  
}

  
else

  
{

     
$updatelink="Update affiliates_table set url='$url',image='$image' where affid='$ID'";

     
mysql_query($updatelink) or die(mysql_error());

     
print "Link updated.";

  
}



}

else

{

  
$ID=$_GET['ID']; //gets the id from URL

  
$getbutton="SELECT * from affiliates_table where affid='$ID'";

  
$getbutton2=mysql_query($getbutton) or die("Could not get button");

  
$getbutton3=mysql_fetch_array($getbutton2);

  
print "<form action='edit.php' method='post'>";

  
print "<input type='hidden' name='id' value='$ID'>";

  
print "URL:<br>";

  
print "<input type='text' name='url' value='$getbutton3[url]' size='20'><br>";

  
print "Image URL:<br>";

  
print "<input type='text' name='image' value='$getbutton3[image]' size='20'><br>";

  
print "<input type='submit' name='submit' value='submit'></form>";





}

?>

Това прилича на addlink.php страница, защото по същество е едно и също нещо, с изключение на това, че използвате ID, приет чрез URL адрес, информацията е взета от специфичните бутон, който искате да редактирате и след това да използвате, тази информация във формуляра. След като бутона е натиснат проверете за да се уверете, че има някакви данни в URL и изображения, и ако има, я актуализирайте с бутона за запис при новата информация използвайте UPDATE заявка от MySQL.


Сега ние ще отидем до последната страница в админ папката delete.php

CODE
1
<A href='addlink.php'>Add a link</a> - <A href='modbutton.php'>Edit/delete buttons</a>



CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

include
"connect.php";

if(isset($_POST['submit']))

{

  
$ID=$_POST['ID'];

  
$delbutton="Delete from affiliates_table where affid='$ID'";

  
mysql_query($delbutton) or die("Could not delete button");

  
print "Button deleted.";



}

else

{

  
$ID=$_GET['ID']; //gets the id from URL

  
print "<br>Are you sure you want to delete this button affiliate?<br>";

  
print "<form action='delete.php' method='post'>";

  
print "<input type='hidden' name='ID' value='$ID'>";

  
print "<input type='submit' name='submit' value='submit'></form>";



}

?>


Това е обикновен файл, той използва ID и поставя това ID в скрито поле, когато натиснете бутона "изпрати", той изтрива бутона с който сте въвели   това ID.
Сега вече административните неща са направени, отидете на интерфейса и напишете прост код за показване на бутоните.
Така че в главната  папка, ще ни трябват два файла:



aff.php - страница, която показва бутоните
out.php - страница, която прехвърля броя колко пъти един бутонът е кликван и пренасочва към самия сайт към който сочи бутона.

 така в aff.php:
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

include
"admin/connect.php";

$counter=1;

$getbuttons="SELECT * from affiliates_table order by hitsout desc";

$getbuttons2=mysql_query($getbuttons) or die("Could not get buttons");

while($getbuttons3=mysql_fetch_array($getbuttons2))

{

  
if($counter%4==0)

   {

    
print "<A href='out.php?ID=$getbuttons3[affid]'><img src='$getbuttons3[image]' border='0'></a><br>";

  
}

  
else

  
{

     
print "<A href='out.php?ID=$getbuttons3[affid]'><img src='$getbuttons3[image]' border='0'></a>  ";

  
}

  
$counter++;

}

?>

Този код  избира всички бутони в таблицата на базата данни и след това създава брояч, за да видите колко сте препредали, в този случай,в този код например, ако има вече 4 бутона в един ред, то ще започнете нов ред, както е посочено от by <br>. Сега се нуждаем .php за актуалния брои на кликовете и да се пренасочат към действителните URL.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

include
"admin/connect.php";

$ID=$_GET['ID'];

$getbuttons="SELECT url from affiliates_table where affid='$ID'";

$getbuttons2=mysql_query($getbuttons) or die("Could not get buttons");

$getbuttons3=mysql_fetch_array($getbuttons2);

$updatehits="Update affiliates_table set hitsout=hitsout+1 where affid='$ID'";

mysql_query($updatehits) or die("Could not update hits");

//
time for a meta-refresh direct

print "<META HTTP-EQUIV = 'Refresh' Content = '1; URL =$getbuttons3[url]'> ";

?>

Какво означава това, получаваш ID от URL, след това избираш само URL и се прави запис с това ID, защото е необходим URL адрес, за да се пренасочи към самия сайт. След това се актуализира броят положителни резултати на запис с това ID и се преобразува в 1. Накрая информацията се пренасочва към истинският URL адрес.

Статистика
Погледнат: пъти
Гласове: --
Оценка:
Действие
 



myTech.bg © 2004 - 2011 | Контакти | За реклама