SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.10.2004, 15:48:19
KiKoN KiKoN ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 25
Brauch Hilfe bei ner kleinen Sache

So ein Anfänger braucht mal wieder Hilfe^^
Ich hab folgendes zusammenbekommen.
Auf meine Seite gibt es viele Downloads und ich will demnächst was einbauen, so das jeden User nur eine begrenzte Anzahl an Downlaods pro Tag zur verfügung stehen.
Hier erstmal das Script was ich bis jetzt zusammen bekommen habe:
PHP-Code:
if (isset($id)) {
    
$sql "SELECT * FROM users WHERE ID='$pid'";
    
$sql mysql_query($sql,$conn);

    
$row mysql_fetch_assoc($sql);
    
$klicks $row['dlcount'];

    
$neu_klicks $klicks 1;
    
$update "UPDATE users SET dlcount = $neu_klicks WHERE ID='$pid'";
    
$update mysql_query($update,$conn);

Klickt man aufn Link steigt der dlcount prima um 1 zähler an.
Nur jetzt folgendes problem.
Ich hab noch eine extra spalte die den Namen dlcountmax trägt. Dort steht halt die zahl der Downloads drinne die einem User zu verfügung steht.
Ich mein Script steht jetzt nur das halt der dlcount jedesmal um 1 Zähler steigen soll. Wie mach ich jetzt das er vorher noch kontrolliert ob der vorhandene dlcount nicht die zahl in dlcountmax überschreitet und wenn das maximum erreicht ist ne art fehlermeldung rausgibt?
Mit Zitat antworten
  #2  
Alt 20.10.2004, 15:55:01
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Versuch's mal so:
PHP-Code:
if (isset($id)) {
    
$result mysql_query("UPDATE users
                           SET    dlcount = $neu_klicks + 1
                           WHERE  dlcountmax <= dlcount + 1 AND 
                                  ID='$pid'"
$conn) or die(mysql_error($conn)); // " or die(mysql_error($conn))" nach der Testphase entfernen!!
    
if (mysql_affected_rows($conn)>0) { // oder $result?
        
echo 'Du darfst&copy;!';
    }
    else {
        echo 
'Trafficabnutzer, Du!';
    }

__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 20.10.2004, 16:27:36
KiKoN KiKoN ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 25
Erstmal danke für die fixe antwort... nur komm ich damit irgendwie überhaupt net klar.
ich glaub ich poste dochmal alles was in der datei zu finden ist:

PHP-Code:
<?php
include("mysql.php");

if (isset(
$id)) {
    
$sql "SELECT * FROM users WHERE ID='$pid'";
    
$sql mysql_query($sql,$conn);

    
$row mysql_fetch_assoc($sql);
    
$klicks $row['dlcount'];


    
$neu_klicks $klicks 1;
    
$update "UPDATE users SET dlcount = $neu_klicks WHERE ID='$pid'";
    
$update mysql_query($update,$conn);
}


$string base64_decode($_GET[id]);
$name explode("//"$string);
$name2 $name[1];
$name3 str_replace(" ""_"$name2);
function 
download($string$file) {
    
$size filesize($string);
    
header("Content-type: application/octet-stream");
    
header("Content-disposition: attachment; filename=".$file);
    
header("Content-Length: ".$size);
    
header("Pragma: no-cache");
    
header("Expires: 0");
    
readfile($string);
}



download($string$name3);
?>
Die varibla $conn findet man in der mysql.php. Und das findet man unter $conn
PHP-Code:
$conn=mysql_connect($db_host,$db_user,$db_passwort); 
Ich hoffe ich mach jetzt nicht zuviel umstände :/
Mit Zitat antworten
  #4  
Alt 20.10.2004, 16:41:59
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Original geschrieben von KiKoN
nur komm ich damit irgendwie überhaupt net klar.
Das hilft uns überhaupt nicht weiter. Information wären da schon praktischer.

PHP-Code:
<?php
// zu MySQL verbinden
include('mysql.php');

// Funktion download() deklarieren
function download($string$file) {
    
$size filesize($string);
    
header("Content-type: application/octet-stream");
    
header("Content-disposition: attachment; filename=".$file);
    
header("Content-Length: ".$size);
    
header("Pragma: no-cache");
    
header("Expires: 0");
    
readfile($string);
}

// wenn $_GET['id'] gesetzt ist, dann pruefen, ob Download erlaubt
if (isset($_GET['id'])) {
    
$result mysql_query("UPDATE users
                           SET    dlcount = $neu_klicks + 1
                           WHERE  dlcountmax <= dlcount + 1 AND 
                                  ID='$pid'"
$conn) or die(mysql_error($conn)); // " or die(mysql_error($conn))" nach der Testphase entfernen!!
    
if (mysql_affected_rows($conn)>0) { // oder $result?
        
$string base64_decode($_GET['id']);
        
$name explode('//'$string);
        
$name2 $name[1];
        
$name3 str_replace(' ''_'$name2);

        
download($string$name3);
    }
    else {
        echo 
'Trafficabnutzer, Du!';
    }
}
?>
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 20.10.2004, 17:37:31
KiKoN KiKoN ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 25
Also nochmal danke^^
Aber das klappt immer nicht so alles :/
Ich hab die zeilen
PHP-Code:
   $result mysql_query("UPDATE users

                           SET    dlcount = $neu_klicks + 1

                           WHERE  dlcountmax <= dlcount + 1 AND 

                                  ID='$pid'"
$conn) or die(mysql_error($conn)); // " or die(mysql_error($conn))" nach der Testphase entfernen!! 
in folgendes geändert
PHP-Code:
    $result "UPDATE users
                           SET    dlcount = $neu_klicks + 1
                           WHERE  dlcountmax <= dlcount + 1 AND 
                                  ID='$pid'"
// " or die(mysql_error($conn))" nach der Testphase entfernen!!
    
$result mysql_query($result,$conn); 
Weil zuvor immer eine Fehlermeldung erschienen ist. Jetzt ist die weg, aber folges Problem gibt es jetzt:
Der Download startet nicht mehr und der zähler in der Datenbank unter dlcount wird auch nicht mehr um ein Punkt erhöht.
Das einziege was erscheint ist der Satz Trafficabnutzer, Du!
Mit Zitat antworten
  #6  
Alt 20.10.2004, 17:47:08
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
PHP-Code:
<?php
    $sql 
"UPDATE
                users
            SET
                dlcount = dlcount + 1
            WHERE
                dlcountmax > dlcount AND 
                ID         = '$pid'"
;
    
$result mysql_query($sql$conn) or die(mysql_error($conn));
?>
Mit Zitat antworten
  #7  
Alt 20.10.2004, 18:04:01
KiKoN KiKoN ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 25
danke es funktioniert :)

Endlich mal ein Forum gefunden wo einem schnell geholfen wird :)

Vielen dank
Mit Zitat antworten
  #8  
Alt 21.10.2004, 08:05:52
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ups, Denkfehler von mich. :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #9  
Alt 30.10.2004, 20:17:56
KiKoN KiKoN ist offline
Anfänger
 
Registriert seit: Oct 2004
Beiträge: 25
So liebe Leute ich bins wieder^^

Ich hab das Script inzwischen ein wenig erweitert da ich ein paar andere Funktion für mein DL Script hinzugefügt habe.
Aber irgendwas stimmt schon wieder net :/

Erstmal der Code:

PHP-Code:
<?php
include("mysql.php");
session_start();

if(!
$pid) { echo "Einloggen bitte!"; } else {

// Funktion download() deklarieren

function download($pfad$file) {
    
$size filesize($pfad);
    
header("Content-type: application/octet-stream");
    
header("Content-disposition: attachment; filename=".$file);
    
header("Content-Length: ".$size);
    
header("Pragma: no-cache");
    
header("Expires: 0");
    
readfile($pfad);
}



// wenn $_GET['id'] gesetzt ist, dann pruefen, ob Download erlaubt

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

    
$sql "UPDATE

                users

            SET

                dlcount = dlcount + 1

            WHERE

                dlcountmax > dlcount AND

                ID         = '$pid'"
;

    
$result mysql_query($sql$conn) or die(mysql_error($conn));

    if (
mysql_affected_rows($conn)>0) { // oder $result?
    
    
$query mysql_query("SELECT * FROM downs WHERE ID = '$id'");
    
$result mysql_num_rows($query);
      
$datei mysql_result ($query,$i,"File");
      
$cat mysql_result ($query,$i,"Cat");
      
$subcat mysql_result ($query,$i,"Subcat");
      
        
$pfad "../downs/$cat/$subcat//$datei"
        
$name explode('//'$pfad);
        
$name2 $name[1];
        
$name3 str_replace(' ''_'$name2);



        
download($pfad$name3);
    }
    else {
        echo 
'Limit erreicht!';
    }

}

 }

?>
So un folgende fehlermeldung kommt immer:
Parse error: parse error, unexpected T_VARIABLE in /home/schulz/public_html/dl.php
in folgender Zeile:
PHP-Code:
        $name explode('//'$pfad); 
Kann wer melfen?^^"
Mit Zitat antworten
  #10  
Alt 31.10.2004, 11:02:09
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Hi,
schau dir mal die Zeile über der mit der Fehlermeldung an. Da fehlt das abschließende Semikolon ;-)
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:55:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt