6x bewertet

Login VIII

von Delite  |  22.06.2007 um 15:18 h
Skripte
Typ: Skripte
Stufe:Mittel
Hier geht es darum die PNs auf eine bestimmte Anzahl zu begrenzen, um zuviel Datenüberfluss (was verlangsamen kann) zu verhinden. Diesmal gibt es KEINE Download-Datei, da man nur kleine Änderungen des Skripts vornehmen muss. Wer das nicht hinbekommt ist mit den Grundlagen nicht wirklich vertraut. Fragen stellen dürft ihr aber mir ist aufgefallen, dass es doch vermehrt dazu kam, dass leute die Grundlagen überhaupt nicht ernst nehmen.
Anwendungen bestehen nämlich daraus, dass Grundlagen angewendet werden. Dies kann man mit purem logischen Denken erreichen.

  1. posteingang.php in einem Editor öffnen, um den Quelltext zu bearbeiten.
  2. Irgendwo in die Datei schreiben (irgendwo = da wo HTML ist z.B. über die Tabelle):

    <?= anzahl("pns WHERE empfaenger = '".$_SESSION["login"]."'"?> von
    50 PNs


    50 ist hier die Begrenzung, könnt ihr natürlich beliebig variieren. Dies dient nur zur Anzeige und hat keinerlei Wirkung, außer, dass die Anzahld er PNs angezeigt werden.
  3. newpn.php in einem Editor öffnen, um den Quelltext zu bearbeiten.
  4. Dort erweitert ihr in der 10. (dort wo auch das Kommentar 'Wenn alles audgefüllt' steht) Zeile die If-Abfrage.
    also leerzeichen und && und danach kommt folgende Abfrage:

    anzahl("pns WHERE empfaenger =
    '".strip_tags($_REQUEST["empfaenger"])."'") < 50


    Diese fragt ob der Empfänger nicht über 49 PNs hat. (50 könnt ihr natürlich nach belieben ändern).

    Ihr könnt innerhalb der if-Submit-Abfrage noch diesen Code einfügen, um dem Absender mitzuteilen, dass seine PN nicht verschickt wurde:

    <?php
        
    if(isset($_REQUEST["submit"])) { // Wenn abgeschickt
            
    if(..) {
                ...
            }
            else {
                echo 
    "PN konnte nicht versendet werden";
                if(
    anzahl("pns WHERE empfaenger =
    '"
    .strip_tags($_REQUEST["empfaenger"])."'") >= 50) { // Wenn Empfänger
    zuviel PNs hat
                    
    echo " weil der Empfänger zuviele PNs hat.";
                } 
            }
        }
    ?>


    Ich hoffe ihr könnt die Punkte richtig deuten. Das ist optional und relativ einfach ;)


Mfg, Delite ;)

Bild



6 Kommentare




monkeybox

subbi 6
am 22.06.2007 um 19:46 Uhr


Tobi

Bei mir ist immer folgender Fehler:
Wichtig!:
Parse error: syntax error, unexpected T_BOOLEAN_AND in C:\xampp\htdocs\newpn.php on line 10


So hab ichs geschrieben:

                if(!empty($_REQUEST["empfaenger"]) && !empty($_REQUEST["betreff"])
&& !empty($_REQUEST["text"])) &&anzahl("pns WHERE empfaenger =
'".strip_tags($_REQUEST["empfaenger"])."'") < 50 {

am 24.06.2007 um 14:46 Uhr


Tobi

Sorry für Doppelpost:

ich hab geschrieben ... && anzahl("pns WHERE ...
am 24.06.2007 um 14:47 Uhr


Bee

hatte beim ersten versuch das gleiche problem! der fehler ist, dass du die klammer hinter dem if schon vor dem && anzahl(...) geschlossen hast. nimm eine der klammern raus und schließe sie hinter 50.
am 03.09.2007 um 12:31 Uhr


yummy

Viiiiiiiiielen Dank, Delite, für all diese tollen Tutorials, mit denen du mir echt total geholfen hast Smilie Smilie Smilie Smilie
Ich weiß nicht, was ich ohne die machen würde - wahrscheinlich verzweifeln xD
Ich würde mich freuen, wenn mehr kommen würden ^^
am 03.03.2008 um 16:36 Uhr


CrazyMoFu

Das ist mein Fehler

Wichtig!:
Parse error: syntax error, unexpected T_BOOLEAN_AND in /data/multiserv/users/208478/projects/245321/www/login/newpn.php on line 10


Das steht in zeile 1-14:


<?php
        session_start
();
        if(isset(
$_SESSION["login"])) { // Wenn eingeloggt..
                
include("css_nav.php");
                include(
"css_lay.css");
                include(
"css.php");
                include(
"db.php");
                include(
"functions.inc.php");
                
refresh($_SESSION["login"]); // refresht
                
if(anzahl("pns WHERE absender =
'"
.$_SESSION["login"]."' AND timestamp > '".(time

()-120)."'") <= 5)
                        if(isset(
$_REQUEST["submit"])) { // Wenn
abgeschickt
                                
if(!empty($_REQUEST["empfaenger"]) &&
!empty(
$_REQUEST["betreff"])

am 04.01.2010 um 11:05 Uhr