Loading...   Upload Image

Hilfe zu Link-CounterForum » Tutorials » Help » Hilfe zu Link-Counter

Neues Thema verfassen Neues Thema

  • PhillUser ist offline
    Newbie



    Registriert: 27.11.2011
    Beitraege: 2

    28.11.2011 um 18:56 Uhr

    Hallo,
    ich habe voll die Probleme mit dem Counter. Ich bekomme nur Fehlermeldungen auf der Maske. Ich benutze Xampp um die Seite zu programmieren und um sie dann erst Online zu stellen, wenn ich einen Server gefunden habe, der zu uns passt. Könnt ihr mir evtl. helfen? Was benötigt ihr um mir helfen zu können? Dann werde ich das gleich dann posten oder demjenigen per PN senden. Ich habe alles so gemacht, wie es im Tutorial beschrieben wurde, aber dennoch funktioniert es nicht.
    Vielen dank im Vorraus für eure Hilfe.
    MfG
    Phill



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    28.11.2011 um 20:21 Uhr

    Hallo Phill,

    die Aussage "Funktioniert nicht" bringt leider keinen weiter...

    WAS genau funktioniert denn nicht?

    Fehlermeldung(en) vorhanden, wenn ja wie lauten diese?

    Liebe Gruesse
    Alice



    ... { signatur } ...
  • PhillUser ist offline
    Newbie



    Registriert: 27.11.2011
    Beitraege: 2

    28.11.2011 um 21:46 Uhr

    Das weiß ich auch :-) Sry, hätte es gleich mit hinposten sollen, aber danke für die Reaktion. Also, ich weiß nich so genau, wo ich die Tabelle anlegen muss. Ich hab sie unter Xampp -> Phpmyadmin -> Phpadmin (Datenbank) angelegt, so wie es im Tutorial steht, problem ist nur, ich weiß nich genau ob es richtig ist bzw. ob ich sie richtig angelegt habe.

    Meine Datenbank in Xampp:
    http://img855.imageshack.us/img855/3858/datenbankphpmyadmin.png

    Meine Tabelle link_count in der oben genannten Datenbank:
    http://img853.imageshack.us/img853/6827/linkcounttabelle.png

    Meine Datei function_navi.inc.php mit dem Browser aufgerufen:
    http://img703.imageshack.us/img703/6765/functionnaviincphp.png
    Der Code:
    <?php
    // korrigieren der aktuellen Seite
    if(empty($_GET['go'])) {
    $go = 1;
    } elseif($_GET['go'] <= 0 || $_GET['go'] > $pages) {
    $go = 1;
    } else {
    $go = $_GET['go'];
    }

    // Linkkette
    $links = array();

    if(($go - $p) < 1){
    $prevOffset = $go - 1;
    }else {
    $prevOffset = $p;
    }
    if(($go + $p) > $pages) {
    $nextOffset = $pages - $go;
    }else {
    $nextOffset = $p;
    }
    $off = ($go - $prevOffset);

    if ($go- $prevOffset > 1){
    $first = 1;
    $links[] = "<a href=\"".$pfad."?go=$first\" title=\"Zur ersten Seite springen\">&laquo; Erste ...</a>\n";
    }
    if($go != 1){
    $prev = $go-1;
    $links[] = "<a href=\"".$pfad."?go=$prev\" title=\"Zurueck zur letzen Seite\"> &laquo;</a>\n";
    }

    for($i = $off; $i <= ($go + $nextOffset); $i++){
    if ($i != $go){
    $links[] = "<a href=\"".$pfad."?go=$i\" title=\"Seite $i anzeigen\">$i</a>\n";
    }elseif($i == $pages) {
    // aktuelle Seite, braucht keinen Link
    $links[] = "<span class=\"current\">[ $i ]</span>\n";
    }
    elseif($i == $go){
    // aktuelle Seite, braucht keinen Link
    $links[] = "<span class=\"current\">[ $i ]</span>\n";
    }
    }
    if($go != $pages){
    $next = $go+1;
    $links[] = "<a href=\"".$pfad."?go=$next\" title=\"Weiter zur naechsten Seite\"> &raquo; </a>\n";
    }

    if ($off+$prevOffset*2 < $pages){
    // zur letzen Seite springen
    $last = $pages;
    $links[] = "<a href=\"".$pfad."?go=$last\" title=\"Zur letzen Seite springen\">... Letzte &raquo;</a>\n";
    }



    // Zusammenfügen der einzelnen Links zu einem String
    $link_string = implode(" &nbsp; ", $links);
    ?>

    Meine Datei go.php mit dem Browser aufgerufen:
    http://img17.imageshack.us/img17/2044/gophp.png
    Der Code der Datei:
    http://img809.imageshack.us/img809/7035/gophpdatei.png

    Und zu guter letzt noch die klick_counter.php mit dem Browser aufgerufen:
    http://img341.imageshack.us/img341/814/klickcounterphp.png
    Der Code:
    <?php

    session_start(); // startet die Session

    //---------------------- Logindate --------------------------------- //
    $grafixx_name = "USERNAME"; // Loginname angeben
    $grafixx_pass = "PASSWORT"; // Loginpasswort angeben
    //------------------------------------------------------------------ //

    ob_start(); // startet den Ausgabepuffer
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">

    <head>
    <title>Grafixx - News || Adminpanel</title>

    <meta http-equiv="Content-Language" content="de" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="imagetoolbar" content="no" />

    <link rel="stylesheet" type="text/css" href="style.css" />

    </head>
    <body>

    <div id="ram">
    <h1 id="header">Grafixx - KlickCounter</h1>
    <br />
    <?php

    if(!isset($_SESSION['login'])) {

    if(isset($_POST['admin_login'])) {

    $login_name = strip_tags($_POST['admin_name']);
    $login_pass = strip_tags($_POST['admin_pass']);

    if(empty($login_name)) {
    $message .= 'Bitte geben Sie ihren Usernamen ein ... <br />'; $error = "1";
    }
    if(empty($login_pass)) {
    $message .= 'Bitte geben Sie ihr Passwort ein ... <br />'; $error = "1";
    }

    if($login_name != $grafixx_name OR $login_pass != $grafixx_pass){
    $message .= 'Zugriff verweigert ... <br />'; $error = "1";
    }

    if($error != "1";){

    // session handle-----------------------------
    $_SESSION['login'] = $_SERVER['REMOTE_ADDR'];

    header("Location: klick_counter.php";);
    }

    if($error == "1";){
    echo "<h1>Error ...</h1>\n <p>$message</p>";
    }

    }

    }
    // ----------------------------------------------- Ende Login ------------------------------------- //
    if(isset($_SESSION['login'])){

    include('config.inc.php');

    $tab = "link_count";

    $links_per_page = "5"; // Anzahl der Links die Pro Seite angezeigt werden sollen

    $pfad = $_SERVER['PHP_SELF']; // aktueller Pfad zur Datei

    // ---------------------------------------------------------------------------------------------------- //

    $id = strip_tags($_GET['id']);
    $action = $_GET['action'];

    if(isset($_GET['id'])){

    $abfrage = "SELECT id, url, klicks FROM $tab WHERE id='$id'";
    $ergebnis = mysql_query($abfrage) OR DIE (mysql_error());

    while ($ausgabe = mysql_fetch_array($ergebnis)){
    extract($ausgabe);
    }
    }

    if($action == ''){

    echo "<a href=\"$pfad?action=new\" style=\"padding: 3px 5px; border: 1px solid #B5B8BB;\">
    Neuen Link eintragen ...</a>\n";
    ?>
    <br /><br />

    <h1>Uebersicht ...</h1>
    <?php

    $q = "SELECT id from $tab";
    $result = mysql_query($q) or die (mysql_error());

    if(!$result || mysql_num_rows($result)<1) {
    echo "<p>Zur Zeit sind keine Links vorhanden ...</p>\n";
    } else {

    $total_records = mysql_num_rows($result);
    $pages = ceil($total_records / $links_per_page);
    $p = "5";

    // korrigieren der aktuellen Seite
    if(empty($_GET['go'])) {
    $go = 1;
    } elseif($_GET['go'] <= 0 || $_GET['go'] > $pages) {
    $go = 1;
    } else {
    $go = $_GET['go'];
    }

    // Linkkette
    $links = array();

    if(($go - $p) < 1){
    $prevOffset = $go - 1;
    }else {
    $prevOffset = $p;
    }
    if(($go + $p) > $pages) {
    $nextOffset = $pages - $go;
    }else {
    $nextOffset = $p;
    }
    $off = ($go - $prevOffset);

    if ($go- $prevOffset > 1){
    $first = 1;
    $links[] = "<a href=\"".$pfad."?go=$first\" title=\"Zur ersten Seite springen\">&laquo; Erste ...</a>\n";
    }
    if($go != 1){
    $prev = $go-1;
    $links[] = "<a href=\"".$pfad."?go=$prev\" title=\"Zurueck zur letzen Seite\"> &laquo;</a>\n";
    }

    for($i = $off; $i <= ($go + $nextOffset); $i++){
    if ($i != $go){
    $links[] = "<a href=\"".$pfad."?go=$i\" title=\"Seite $i anzeigen\">$i</a>\n";
    }elseif($i == $pages) {
    // aktuelle Seite, braucht keinen Link
    $links[] = "<span class=\"current\">[ $i ]</span>\n";
    }
    elseif($i == $go){
    // aktuelle Seite, braucht keinen Link
    $links[] = "<span class=\"current\">[ $i ]</span>\n";
    }
    }
    if($go != $pages){
    $next = $go+1;
    $links[] = "<a href=\"".$pfad."?go=$next\" title=\"Weiter zur naechsten Seite\"> &raquo; </a>\n";
    }

    if ($off+$prevOffset*2 < $pages){
    // zur letzen Seite springen
    $last = $pages;
    $links[] = "<a href=\"".$pfad."?go=$last\" title=\"Zur letzen Seite springen\">... Letzte &raquo;</a>\n";
    }



    // Zusammenfügen der einzelnen Links zu einem String
    $link_string = implode(" &nbsp; ", $links);

    $start = ($go-1) * $links_per_page;

    // -----------------------------------------------------------------------------------------------------
    ------------------< //

    $links_ab = "SELECT id, url, klicks FROM $tab ORDER BY id DESC LIMIT $start,$links_per_page";
    $ergebnis = mysql_query($links_ab, $connection) or die (mysql_error());

    ?>
    <table width="500" style="border: 1px solid #B5B8BB;">
    <tr>
    <th width="21" align="center">ID</th>
    <th>URL</th>
    <th align="center">Klicks</th>
    <th align="center">Option</th>
    </tr>
    <?php
    while ($links = mysql_fetch_array($ergebnis)){
    extract($links);

    $zeile++; // jede 2te Zeile einfaerben
    if ($zeile % 2 == 0) {
    echo "<tr>";
    } else {
    echo "<tr bgcolor=\"#E6E9EC\">";
    }
    ?>
    <td width="21" align="center"><?php echo $id; ?></td>
    <td><?php echo $url; ?></td>
    <td width="56" align="center"><?php echo $klicks; ?></td>
    <td width="95" align="center">
    <a href="<?php echo $pfad; ?>?action=edit&amp;id=<?php echo $id; ?>"> Edit </a>&nbsp;|&nbsp;
    <a href="<?php echo $pfad; ?>?action=delete&amp;id=<?php echo $id; ?>"> Delete </a>
    </td>
    </tr>
    <?php
    } // close while
    ?>
    </table>
    <br />
    <?php
    echo "<div id=\"navigation\">\n";

    echo "<span class=\"pages\">Seite $go von $pages</span>\n";

    echo $link_string; // Ausgabe der Seitennavigation

    echo "</div>\n";

    } // close urls vorhanden

    } // close action leer

    // ---------------------------------- / Config / ---//

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

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

    // ------------------------------- Wenn action = new --------------------------------------------------

    if ($action == "new";) {

    $suchen = strpos($url, 'http://');

    if(empty($url)){ // wenn keine URL angegeben wurde
    $message .= "Bitte Danke eine URL angeben ...<br /><br />\n"; $error = "1";
    }

    if($suchen === false ){
    $message .= "Die URL bitte mit http:// angeben ...<br /><br />"; $error = "1";
    }

    if($error != "1";){

    $eintrag ="INSERT INTO link_count (id, url)
    VALUES ('','$url')";
    $okay = mysql_query($eintrag, $connection);

    if ($okay) { // wenn eingetragen

    $count_id = mysql_insert_id();
    $generate_link = "&lt;a href=&quot;go.php?id=$count_id&quot;&gt; - Linkbezeichnung/titel - &lt;/a&gt;";
    echo "<h1>Prima ...</h1> \n";
    echo "<p>Vielen Dank ...<br /><br /> \n";
    echo "Der Eintrag war erfolgreich :)<br /><br />\n";
    echo "Der Link Tag lautet:\n <br /><strong> $generate_link </strong> <br /><br />";
    echo "<a href=\"$pfad?action=new\">» noch einen Link eintragen</a><br /><br />\n";
    echo "<a href=\"$pfad\">» Uebersicht ...</a></p>\n";


    }else {
    echo '<p>Der Eintrag war nicht erfolgreich ' .
    mysql_error() . '</p>';
    }
    }

    if($error == "1";){
    echo "<h1>Error ...</h1><p>$message</p>";
    }
    } // close action - new

    // ------------------------------- Wenn action = edit ----------------------------------------------------
    if ($action == "edit";) {

    if (empty($url)){ // wenn keine URL angegeben wurde
    echo "Bitte Danke eine URL angeben ...\n";
    }else {

    $update = "UPDATE link_count SET url='$url' WHERE id='$id'";
    $okay = mysql_query($update, $connection);

    if ($okay){ // wenn update erfolgreich
    echo "<h1>Prima ...</h1> \n";
    echo "<p>Das Update war erfolgreich ...<br /><br />\n";
    echo "<a href=\"$pfad\">» Uebersicht ...</a></p>\n";

    }else{
    echo "<h1>Error ...</h1> \n";
    echo '<p>Fehler beim Aktualisieren der Details: ' .
    mysql_error() . '</p>';
    }

    }
    } // close action - edit
    // ------------------------------- Wenn action = delete --------------------------------------------------------

    }

    if ($action == "delete";) {

    $mode = $_GET['mode'];

    if(isset($_GET['mode'])){

    $loeschen = "DELETE FROM link_count WHERE id='$id'";
    $ergebnis = mysql_query($loeschen) or die (mysql_error());

    if ($ergebnis) {
    echo "<h1>Prima ...</h1> \n";
    echo "<p>Die URL wurde erfolgreich geloescht ...<br /><br />\n";
    echo "<a href=\"$pfad\">» Uebersicht ...</a></p>\n";
    }else{
    echo "<h1>Error</h1>\n";
    echo "<p>Der Eintrag konnte nicht geloescht werden ...". mysql_error() ."</p>\n";
    }

    } else {
    echo "<h1>Wirklich ...</h1>\n";
    echo "<p>Ganz sicher loeschen?<br /><br />\n";
    echo "<a href=\"$pad?action=delete&amp;mode=yes&id=$id\">Ja</a>";
    echo "&nbsp;&nbsp;<a href=\"$pad\">Nein</a></p> ";
    }

    }// close action - delete

    //------------------------------------- close wenn Abschicken geklickt ------------------------------------

    if(($action == "edit" AND !$okay) OR ($action == "new" AND !$okay)){

    if(isset($_GET['id'])) {
    echo "<h1>Link editieren ...</h1>";
    }else{
    echo "<h1>Neuen Link eintragen ...</h1>";
    }
    ?>
    <form action="" method="post">
    <fieldset style="width: 400px">
    <label for="url">URL: </label>
    <input type="text" name="url" value="<?php echo $url; ?>" style="width: 250px" />

    <input type="submit" value=" Eintragen " name="submit" />
    </fieldset>

    </form>
    <?php } // close action

    }else{ // wenn nicht eingeloggt - login anzeigen
    ?>
    <form action="" method="post">
    <fieldset style="width: 300px">
    <label for="user">Username: </label>
    <input type="text" name="admin_name" style="width: 250px" />

    <label for="passwort">Passwort:&nbsp; </label>
    <input type="password" name="admin_pass" style="width: 250px" />
    <br /><br />
    <input type="submit" value=" Login " name="admin_login" />
    </fieldset>

    </form>
    <?php }
    ob_end_flush(); // leert/beendet den Ausgabepuffer
    ?>
    <h3>Grafixx - KlickCounter © <a href="http://alice-grafixx.de">Alice-Grafixx.de</a> <?php echo date('Y'); ?></h3>

    </div>
    </body>
    </html>

    Der Code meiner configincphp:
    http://img51.imageshack.us/img51/2399/configincphp.png

    Ich hoffe ihr könnt mir helfen. Sry das ich bei manchen den kompletten code gepostet hab, anstatt ein Screen zu machen, aber ich weiß nich wie ich mit meinem Programm einen kompletten Screen machen kann. Ich danke euch schonmal im vorraus.
    Mit freundlichen Grüßen
    Phill



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    29.11.2011 um 22:00 Uhr

    Das was du da zu sehen bekommst sind keine Fehlermeldungen in dem Sinne von - nichts geht mehr, weil fehlerhaft - sondern Hinweise (Notice)...

    Bei einem 'echten' Fehler gibt PHP dir ein Error: aus ;)

    Die Hinweise ruehren daher, dass in dem Script mit POST / GET Variablen gearbeitet wird, die nicht auf ihr Vorhandensein ueberprueft wurden.

    Prinzipiell hat du 2 Moeglichkeiten.

    1. in allen php Dateien des Scriptes einfach an oberster Stelle folgendes einfuegen:

    <?php error_reporting(E_ALL ^ E_NOTICE); ?>


    - loescht das 'Problem' relativ einfach, wenn auch eher unschoen ...

    2. alle verwendeten POST / GET Variablen auf ihr Vorhandensein pruefen, kleines Beispiel ...

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


    Muesste es heissen:
    if (isset($_GET['id'])) $id = mysql_real_escape_string($_GET['id']);


    Das Tutorial ist mittlerweile schon etwas aelter, zum damaligen Zeitpunkt, bzw. zur damals aktuellen PHP Version wurden die Hinweise nicht ausgegeben - bei normaler Serverkonfiguration ;)

    Das Script sollte eigentlich mit und ohne die 'schicken' Hinweise funktiontuechtig sein, sofern die DB-Angaben stimmen bzw. die DB korrekt angelegt wurde,
    was du allem anschein nach korrekt getaetigt hast ...

    Liebe Gruesse
    Alice



    ... { signatur } ...

[ 1 ] Seite 1 von 1


Affiliates:   Gallery Yuri  •   Design Grafixx  •   The Seduction  •   Pat DG  •   Chibi Graphics  •   Colorful Gfx  •   Blue-Graphics  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider