login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Handige scripts > Klikteller

Klikteller

Auteur: phoenix1985 - 17 mei 2009 - 18:52 - Gekeurd door: Wim - Hits: 3719 - Aantal punten: 5.00 (2 stemmen)



Handig script voor het bijhouden van clicks per hyperlink. Compleet met functies voor het wijzigen, verwijderen en toevoegen van hyperlinks.

Installatie:

- Database tabel toevoegen (SQL te vinden bovenin klikteller.php)
- Database instellingen configureren (ook bovenin klikteller.php)

Dit script bevat alle functies, maar je zult hem waarschijnlijk zelf willen opdelen. Bijvoorbeeld de beheerfuncties verplaatsen naar een CMS en de links naar een indexpagina.

Have fun! :-)

Code:
  1. CREATE TABLE IF NOT EXISTS `tblLink` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `clicks` int(11) NOT NULL,
  4. `href` varchar(255) NOT NULL,
  5. `caption` varchar(255) NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



  1. <?php
  2. /*
  3. Author: J.F. Ronner (jfronner@gmail.com)
  4. Script by: Jaron ICT-Services (http://www.jaronict.nl)
  5. License: Free
  6. Description: A free PHP click-counter script
  7. Note: Please keep these credits intact, thank you!
  8. Components: klikteller.php / MySQL database
  9. */
  10.  
  11.  
  12. // NOTE: You must fill in these values:
  13.  
  14. mysql_connect("localhost", "test", "") or die (mysql_error()); // host, user, password
  15. mysql_select_db("test") or die (mysql_error()); // database
  16.  
  17. // NOTE: No further configuration needed from here!!!
  18.  
  19. // Link clicked
  20. if(isset($_GET["link_id"])) {
  21. $link_id = intval($_GET["link_id"]);
  22.  
  23. if($link_id > 0) {
  24. $sql = sprintf("UPDATE tblLink SET clicks = 1 + clicks WHERE id = %d", $link_id);
  25. $query = mysql_query($sql) or die (mysql_error());
  26.  
  27. $sql = sprintf("SELECT href FROM tblLink WHERE id = %d LIMIT 1", $link_id);
  28. $query = mysql_query($sql) or die (mysql_error());
  29.  
  30. if(mysql_num_rows($query) == 1) {
  31. header("Location: ".mysql_result(0, $query)."");
  32. } else {
  33. die("FOUT: De link kon niet worden geopend!");
  34. }
  35. }
  36. }
  37.  
  38. // Add link
  39. if(isset($_POST["inpAddSubmit"])) {
  40. $pTitle = htmlspecialchars($_POST["inpTitle"]);
  41. $pURL = htmlspecialchars($_POST["inpURL"]);
  42.  
  43. if(strlen($pTitle) < 1 || strlen($pURL) < 1) {
  44. die("FOUT: De velden 'Titel' en 'URL' zijn verplicht!");
  45. } else {
  46. $sql = sprintf("INSERT INTO tblLink (clicks, href, caption) VALUES (%d, '%s', '%s')", 0, $pURL, $pTitle);
  47. $query = mysql_query($sql) or die (mysql_error());
  48. }
  49. }
  50.  
  51. // Delete link
  52. if(isset($_POST["inpDelSubmit"])) {
  53. $pLinkID = intval($_POST["selLink"]);
  54.  
  55. if($pLinkID < 1) {
  56. die("FOUT: De geselecteerde link heeft een incorrecte ID!");
  57. } else {
  58. $sql = sprintf("DELETE FROM tblLink WHERE id = %d", $pLinkID);
  59. $query = mysql_query($sql) or die (mysql_error());
  60. }
  61. }
  62.  
  63. // Edit link
  64. if(isset($_POST["inpEditSaveSubmit"])) {
  65. $pLinkID = intval($_SESSION["LINK_ID"]);
  66. $pClicks = intval($_POST["inpEditClicks"]);
  67. $pTitle = htmlspecialchars($_POST["inpEditTitle"]);
  68. $pURL = htmlspecialchars($_POST["inpEditURL"]);
  69.  
  70. unset($_SESSION["LINK_ID"]);
  71.  
  72. if($pLinkID < 1) {
  73. die("FOUT: De geselecteerde link heeft een incorrecte ID!");
  74. } else if(strlen($pTitle) < 1 || strlen($pURL) < 1) {
  75. die("FOUT: De velden 'Titel' en 'URL' zijn verplicht!");
  76. } else {
  77. $sql = sprintf("UPDATE tblLink SET clicks = %d, caption = '%s', href = '%s' WHERE id = %d", $pClicks, $pTitle, $pURL, $pLinkID);
  78. $query = mysql_query($sql) or die (mysql_error());
  79. }
  80. }
  81. ?>
  82.  
  83. <html>
  84.  
  85. <head>
  86. <title>Klikteller</title>
  87. </head>
  88.  
  89. <body>
  90.  
  91. <div align="left">
  92. <h2>Link overzicht</h2>
  93.  
  94. <ul>
  95.  
  96. <?php
  97. $query = mysql_query("SELECT id, clicks, caption FROM tblLink ORDER BY id ASC") or die (mysql_error());
  98.  
  99. if(mysql_num_rows($query) > 0) {
  100. while($link = mysql_fetch_object($query)) {
  101. ?>
  102. <li><a href="<?php echo $_SERVER["PHP_SELF"]; ?>?link_id=<?php echo $link->id; ?>" target="_blank"><?php echo $link->caption; ?></a>&nbsp;(Aantal clicks: <?php echo $link->clicks; ?>)</li>
  103. <?php
  104. }
  105. } else {
  106. ?>
  107. <li>(Er zijn nog geen links!)</li>
  108. <?php
  109. }
  110. ?>
  111. </ul>
  112.  
  113. <hr />
  114.  
  115. <h2>Link toevoegen</h2>
  116. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="frmAddLink">
  117. <b>Titel</b>&nbsp;(verplicht)
  118. <br />
  119. <input name="inpTitle" type="text" />
  120. <br />
  121. <b>URL</b>&nbsp;(verplicht)
  122. <br />
  123. <input name="inpURL" type="text" />
  124. <br /><br />
  125. <input name="inpAddSubmit" type="submit" value="Toevoegen" />
  126. </form>
  127.  
  128. <hr />
  129.  
  130. <h2>Link verwijderen</h2>
  131. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="frmDelLink">
  132. <select name="selLink">
  133. <option selected value="0">(geen selectie)</option>
  134. <?php
  135. $query = mysql_query("SELECT id, caption FROM tblLink ORDER BY id ASC") or die (mysql_error());
  136.  
  137. if(mysql_num_rows($query) > 0) {
  138. while($link = mysql_fetch_object($query)) {
  139. ?>
  140. <option value="<?php echo $link->id; ?>"><?php echo $link->caption; ?></option>
  141. <?php
  142. }
  143. }
  144. ?>
  145. </select>
  146. <br /><br />
  147. <input name="inpDelSubmit" type="submit" value="Verwijderen" />
  148. </form>
  149.  
  150. <hr />
  151.  
  152. <h2>Link wijzigen</h2>
  153. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="frmEditLink">
  154. <?php
  155. // Edit link
  156. if(isset($_POST["inpEditSubmit"])) {
  157. $pLinkID = intval($_POST["selLink"]);
  158.  
  159. if($pLinkID < 1) {
  160. die("FOUT: De geselecteerde link heeft een incorrecte ID!");
  161. } else {
  162. $sql = sprintf("SELECT clicks, caption, href FROM tblLink WHERE id = %d", $pLinkID);
  163. $query = mysql_query($sql) or die (mysql_error());
  164.  
  165. if(mysql_num_rows($query) == 1) {
  166. $link = mysql_fetch_row($query);
  167. $_SESSION["LINK_ID"] = $pLinkID;
  168. ?>
  169. <b>Aantal clicks</b>&nbsp;(verplicht)
  170. <br />
  171. <input name="inpEditClicks" type="text" value="<?php echo $link[0]; ?>" />
  172. <br />
  173. <b>Titel</b>&nbsp;(verplicht)
  174. <br />
  175. <input name="inpEditTitle" type="text" value="<?php echo $link[1]; ?>" />
  176. <br />
  177. <b>URL</b>&nbsp;(verplicht)
  178. <br />
  179. <input name="inpEditURL" type="text" value="<?php echo $link[2]; ?>" />
  180. <br /><br />
  181. <input name="inpEditSaveSubmit" type="submit" value="Opslaan" />
  182. <?php
  183. } else {
  184. die("FOUT: Er zijn geen gegevens gevonden voor de geselecteerde link!");
  185. }
  186. }
  187. } else {
  188. ?>
  189. <select name="selLink">
  190. <option selected value="0">(geen selectie)</option>
  191. <?php
  192. $query = mysql_query("SELECT id, caption FROM tblLink ORDER BY id ASC") or die (mysql_error());
  193.  
  194. if(mysql_num_rows($query) > 0) {
  195. while($link = mysql_fetch_object($query)) {
  196. ?>
  197. <option value="<?php echo $link->id; ?>"><?php echo $link->caption; ?></option>
  198. <?php
  199. }
  200. }
  201. ?>
  202. </select>
  203. <br /><br />
  204. <input name="inpEditSubmit" type="submit" value="Wijzigen" />
  205. <?php
  206. }
  207. ?>
  208. </form>
  209. </div>
  210.  
  211. </body>
  212.  
  213. </html>

Download code! Download code (.txt)

Download dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (1)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.042s