php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-12-2006, 18:18
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard meist gelesene oder geklickte Artikel

Hallo Leute, ich würde gerne in meinen Seiten anzeigen können wie oft eine Seite angeklickt oder gelesen wurde, irgendwas in der Richtung, ich habe aber keine Ahnung wie ich es machen soll, bitte gibt mir Hinweise.
Mit Zitat antworten
  #2 (permalink)  
Alt 16-12-2006, 18:25
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

bei jedem aufruf nen counter in der DB hochzählen und diesen später auswerten.

*move* nach BS.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #3 (permalink)  
Alt 16-12-2006, 18:39
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi TobiaZ, ich kenne kleine tutorials wo Counter mit .txt Dateien erstellt werden, muss ich auch in die Richtung denken oder muss es eine andere Art Counter sein.
Mit Zitat antworten
  #4 (permalink)  
Alt 16-12-2006, 18:44
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

ja, z.b.
Einfach irgendwas wo die anzahl der aufrufe (also ein zahlenwert) gespeichert und erhöht werden kann.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #5 (permalink)  
Alt 16-12-2006, 20:45
stf]Daywalker
 Registrierter Benutzer
Links : Onlinestatus : stf]Daywalker ist offline
Registriert seit: Sep 2003
Beiträge: 183
stf]Daywalker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

in der artikel db ein neues feld anlegen, zB: counter

dann in der aufruf-php-seite

mysql_query("UPDATE artikel SET counter=counter+1 WHERE id='...");

das wars schon
Mit Zitat antworten
  #6 (permalink)  
Alt 21-12-2006, 19:28
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von stf]Daywalker
in der artikel db ein neues feld anlegen, zB: counter

dann in der aufruf-php-seite

mysql_query("UPDATE artikel SET counter=counter+1 WHERE id='...");

das wars schon
Hi, danke für die Hilfe!!

Eine sehr einfache und leichte Lösung, gefällt mir :-), kann man da aber noch eine Reloadsperre rein machen, also für den Fall das der Besucher die Seite öfter lädt, wäre doch sicher Sinvoll sowas ne?
Mit Zitat antworten
  #7 (permalink)  
Alt 21-12-2006, 19:40
xManUx
 Registrierter Benutzer
Links : Onlinestatus : xManUx ist offline
Registriert seit: Feb 2004
Beiträge: 833
xManUx ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kleiner Zusatz: Vielleicht ist dir das gegen Kiddie-Push-Missbrauch nützlich:

PHP-Code:
function anti_push($ses,$id,$array=FALSE) {

 IF ( !
is_array($_SESSION[$ses]) ) {
   
$_SESSION[$ses] = array();
 }
 

  IF ( !
in_array($id$_SESSION[$ses]) ) {
        
array_push($_SESSION[$ses], $id);
        return 
true;
      } else {
        return 
false;
      }

__________________

Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.

Mit Zitat antworten
  #8 (permalink)  
Alt 21-12-2006, 19:52
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also recht herzlichen Dank erst mal für deine Hilfe !!

Ich fasse mal zusammen wie ich das Script verstanden habe:

1. function prüft ob variable $_SESSION[$ses] kein Array ist, ist dies der Fall wird ein Array $_SESSION[$ses] gebildet.
2. function prüft ob in array $_SESSION[$ses] Variable $id ist, ist dies der Fall wird true andernfalls False zurückgegeben.

Also ich kann das Script mir zwar mit Hilfe des PHP Manuels erklären, aber ich verstehe nicht wie ich es in mein Script oben einbauen kann als Reloadsperre. Ich will dir also nicht deine kostbare zeit rauben, aber es wäre sehr nett von dir wenn du versuchen würdest mir es zu erklären.
Mit Zitat antworten
  #9 (permalink)  
Alt 21-12-2006, 19:54
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

na,

if(anti_push(...))
die(du hast schon gevoted);
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #10 (permalink)  
Alt 21-12-2006, 19:59
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
na,

if(anti_push(...))
die(du hast schon gevoted);
Oh, mist ich versteh schon einen Anfänger wie mich der zu wenig Ahnung hat von PHP will man hier nicht haben, ich kanns ja immerhin verstehen, mich würds auch nerven wenn jeden tag die gleichen Fragen kommen, sorry.
Mit Zitat antworten
  #11 (permalink)  
Alt 21-12-2006, 20:01
xManUx
 Registrierter Benutzer
Links : Onlinestatus : xManUx ist offline
Registriert seit: Feb 2004
Beiträge: 833
xManUx ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von lamoe
Oh, mist ich versteh schon einen Anfänger wie mich der zu wenig Ahnung hat von PHP will man hier nicht haben, ich kanns ja immerhin verstehen, mich würds auch nerven wenn jeden tag die gleichen Fragen kommen, sorry.
Wäre dem so, wäre dein Topic mit 0 Replays
Allerdings, wer lernen will: learning by doing

Einfach ein bisschen herumspielen.
__________________

Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.

Mit Zitat antworten
  #12 (permalink)  
Alt 21-12-2006, 21:12
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich hab jetzt was gebaut das glaub ich den Vorschlag ganz nahe kommt.

1. prüfe ich mit einer mysql query ob die aktuelle datei schon in der tabelle liegt, ist dies nicht der fall wird erst mal der Dateiname, session id und counter Wert 1 in die tabelle geschrieben.

2. wenn die aktuelle seite schon in der tabelle ist, prüfe ich ob die session id in der tabelle die gleiche ist wie die aktuelle im browser, wenn sie nicht gleich sind, wird der counter um eins erhöt und die aktuelle session gespeichert, wenn sie gleich sind passiert nichts.

Aber irgendwie kann das ja nicht klappen so, da die session id immer gleich ist für eine Sitzung, wird jede folgende Seite die man lädt nicht mehr gezählt auch wenn es eine andere Seite ist, weil die prüfung der session id immer gleich ergibt.

Wie kann man es besser machen?
Mit Zitat antworten
  #13 (permalink)  
Alt 21-12-2006, 21:41
xManUx
 Registrierter Benutzer
Links : Onlinestatus : xManUx ist offline
Registriert seit: Feb 2004
Beiträge: 833
xManUx ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie sieht dein Code aus? Php-Tag benutzen.
__________________

Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.

Mit Zitat antworten
  #14 (permalink)  
Alt 21-12-2006, 21:46
lamoe
 Junior Member
Links : Onlinestatus : lamoe ist offline
Registriert seit: Jun 2005
Beiträge: 87
lamoe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hier der Code, ich habe in jetzt allerdings etwas geändert, ich habe jetzt nämlich jeder session id noch den aktuellen Dateinamen angehängt und denke das ich so es jetzt doch noch hinbekomme das nun jede Seite gezählt wird, aber es ist im ganzen keine so gute Lösung denke ich mal

PHP-Code:
$dit mysql_query("SELECT `dateiname` FROM `counter` WHERE `dateiname`='".$_SERVER['PHP_SELF']."'"); echo mysql_error();  $dit_ mysql_num_rows($dit); //echo $dit_;
if($dit_ 0) {
$sit mysql_query("SELECT `sid` FROM `counter` WHERE `dateiname`='".$_SERVER['PHP_SELF']."'"); $roww mysql_fetch_array($sit);
$ss $_SESSION["sid"].$_SERVER['PHP_SELF'];
if(
$roww['sid'] != $ss) {
mysql_query("UPDATE `counter` SET `count`=count+1, `sid`='".$_SESSION["sid"]."".$_SERVER['PHP_SELF']."' WHERE `dateiname`='".$_SERVER['PHP_SELF']."'"); echo mysql_error();
                 }
        }
else {
$sql "INSERT INTO `counter`
         (count,
         dateiname,
         sid,
         datum)
    VALUES (
         '1',
         '"
.$_SERVER['PHP_SELF']."',
         '"
.$_SESSION["sid"]."".$_SERVER['PHP_SELF']."',
          NOW())"
;
mysql_query($sql);

Mit Zitat antworten
  #15 (permalink)  
Alt 22-12-2006, 10:23
xManUx
 Registrierter Benutzer
Links : Onlinestatus : xManUx ist offline
Registriert seit: Feb 2004
Beiträge: 833
xManUx ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ungetestet und ohne Gewähr.

PHP-Code:
<?php


function anti_push($ses,$id,$array=FALSE) {

 IF ( !
is_array($_SESSION[$ses]) ) {
   
$_SESSION[$ses] = array();
 }
 

  IF ( !
in_array($id$_SESSION[$ses]) ) {
        
array_push($_SESSION[$ses], $id);
        return 
true;
      } else {
        return 
false;
      }
}

 
// In diesem Zusammenhang wie du die sid speicherst, macht die funktion wenig(er) sinn.
 // Solltest in der sid das PHP_SELF weglassen? Nur so als Vorschlag
 
 
IF ( anti_push('push',session_id())) {

 
$sql "SELECT 
          `dateiname` 
         FROM 
          `counter` 
         WHERE 
         `dateiname`='"
.$_SERVER['PHP_SELF']."'
         LIMIT 1"
;

    
$dit mysql_query($sql) or die ( mysql_error() );  
     
$dit_ = (mysql_num_rows($dit) > TRUE FALSE);

     
    
    if(
$dit_) {
     
$sql2 "
       UPDATE 
       `counter` 
           SET 
            `count`=count+1
       WHERE
            `sid`='"
.$_SESSION["sid"]."".$_SERVER['PHP_SELF']."' AND
            `dateiname`='"
.$_SERVER['PHP_SELF']."'
       LIMIT 1
     "
;
    } else {

      
$sql2 "
       INSERT 
         INTO `counter`
                  SET 
                   count = '1',
                   dateiname = '"
.$_SERVER['PHP_SELF']."',
                   sid = '"
.$_SESSION["sid"].$_SERVER['PHP_SELF']."',
                   datum = NOW()
       "
;
    }

     
mysql_query($sql) or die ( mysql_error());
     
 } 
?>
__________________

Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.

Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni

Vorteile eines flexiblen ERP Systems
Vorteile eines flexiblen ERP SystemsEin flexibles ERP System bietet in allen Unternehmensbereichen die Grundlage für eine erfolgreiche Verwaltung, Organisation und Planung aller Prozesse.

01.12.2021 | Berni


 

Aktuelle PHP Scripte

Homepagetools 2022

Kostenloses Gästebuch und Homepagetools für die eigene Homepage. Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.

29.04.2022 freepler | Kategorie: PHP/ Gaestebuch
SF-Shopsystem V1.0

Hier haben wir ein einzigartiges Shopsystem in PHP. Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich. Ausführliche Beschreibung weiter unten.

28.04.2022 Speedcrawler | Kategorie: PHP/ Shops
Anzeigen Markt mit PayPal Bezahl System

Anzeigen Markt Script mit PayPal Bezahl System Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal seine Anzeigen zu schalten, je nach seinem Guthaben.

27.04.2022 Webace_de | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:34 Uhr.