[PHP] Maximale Anzahl dann Stop

Dieses Thema im Forum "Webentwicklung" wurde erstellt von freakZ, 17. Januar 2010 .

Schlagworte:
  1. 17. Januar 2010
    Maximale Anzahl dann Stop

    hallo,

    kurze frage ich hab ein sms formular und darf am tag maximal 100 sms senden - ich hab nun vor via counter beim senden +1 zu zählen, und via cron das um 00 wieder refreshen zu lassen.
    so weit so gut

    Ich möchte nun eine simple funktion haben und steh am schlauch:
    Wenn anzahl 100 dann gib meldung aus -> senden nicht möglich..

    Hat wer ideen?

    big thanks
     
  2. 17. Januar 2010
    AW: Maximale Anzahl dann Stop

    Frag vor dem ausgeben des Formulars ab ob der Counter unter/oder 100 hat.
    Wenn Ja, dann gibt eine Fehlerseite aus, wenn nicht, dann gib das Formular aus.
     
  3. 17. Januar 2010
    AW: Maximale Anzahl dann Stop

    Mein ansatz wäre folgender:

    PHP:
    <?
     
    $maxsmsday  99 ;
     if (
    $maxsmsday  ==  100 )
     {
         echo 
    "Sendebutton ausblenden da mehr als 100" ;
     } else {
         echo 
    "Sendebutton einblenden weniger als 100" ;
     }
     
    ?>

    Richtiger ansatz - nur wo ich hänge ich zähl mittels
    $query = "UPDATE websms_count SET count = count + 1";
    beim sms versand +1 und hab vor eben oben die anzahl einzfügen nur da scheiterts leider ;(

    Sorry n00b bin ;(
     
  4. 17. Januar 2010
    AW: Maximale Anzahl dann Stop

    Also meinst du sowas?
    PHP:
    <? php

    $result 
    = mysql_query ( "SELECT count FROM websms_count" );
    $maxentrys = mysql_num_rows ( $result );

    if (
    $maxentrys  =>  100 )
     {
         echo 
    "Sendebutton ausblenden da mehr als 100" ;
     } else {
         echo 
    "Sendebutton einblenden weniger als 100" ;
     }
     
    ?>
     
  5. 17. Januar 2010
    AW: Maximale Anzahl dann Stop

    PHP:
    <? PHP
    $result 
    mysql_query ( "SELECT * FROM `counter` WHERE `date` = '"  $_SERVER [ 'REQUEST_TIME' ] . "' AND `count` != '100'" );
    if(
    mysql_num_rows ( $result )!= 0 ) {
       echo 
    'SMS kann gesendet werden!' ;
       } 
       else { 
       echo 
    'Fehler: Limit für SMS-Versand Erreicht!' ;
       }
    ?>
     
  6. 17. Januar 2010
    AW: Maximale Anzahl dann Stop

    japs nur der wert 10 tut ma grad ein wenig weh sollte 100 sein

    Meine zwischenfrage was ist sinvoller das formular ausblenden und meldung ausgeben , oder nur den sende button verschwinden lassen ?

    Wenn ja wie blende ich das html form durch das snipped aus?

    big big thanks

    Huchs gleich 2 antworten -> WOW

    Thema +1 bei jeder sms es wird so sein - das in der db count hochgezählt wird ohne datum , da um 00 ein cron drüberzieht und die anzahl auf 0 resetet gibts kein datum
     
  7. 17. Januar 2010
    AW: Maximale Anzahl dann Stop


    Button verschwinden lassen ist schlecht. Du kannst dann trotzdem das Forumlar abschicken via

    javascript:document.xxx.xxx.submit();
     
  8. 17. Januar 2010
    AW: Maximale Anzahl dann Stop

    Vor dem eigentlichen Versenden muss eh nochmal eine Abfrage rein ob das Limit nicht schon erreicht wurde. Sonst kann man ja über eine Manipulierte Seite eine SMS senden.
     
  9. 18. Januar 2010
    AW: Maximale Anzahl dann Stop

    finde die lösung gut.
    in der datenbank per datum festhalten was am tag versendet worden ist.
    somit kannst du einfach zählen um deine prüfungen zu machen und brauchst kein cronjob.
    zusätzlich infos kannst du dann auch noch mit aufzeichnen.

    1. prüfung
    muss das formular angezeigt werden (ja/nein)
    es macht keinen sinn einen dienst anzugeigen, wenn dieser nicht ausgeführt werden kann.
    einfach ne meldung für "dieser dienst kann erst ab 00:00 uhr wieder..." reicht aus und das form wird nicht dargestellt.

    2. prüfung
    ist das limit schon erreicht, wenn nicht dann senden.
    sonst "leider konnte nicht versendet werden, da dienst wieder ab 00:00 uhr wieder ..."

    so in etwa könnte man den ablauf beschreiben
     
  10. 23. Januar 2010
    AW: Maximale Anzahl dann Stop

    hi onip

    dann schiess mal los wie du das code mässig realisieren würdest.

    greeZ
     
  11. 23. Januar 2010
    AW: Maximale Anzahl dann Stop

    Warum lauft ihr alle die SMS tabelle durch wenn ihr nur die Anzahl braucht -.-
     
  12. 23. Januar 2010
    AW: Maximale Anzahl dann Stop

    die frage ist nun wie sinvoll die beiden lösungswege sind:

    1. lösung:
    - sms in db zählen inkl datum

    2. lösung nur sms anzahl in db speichern und rücksetzen

    Deine Lösung von oben klingt gut nur wie integrier ich das bzw. sinvoll und lass ich das formular dann verschwinden ?? Das ganze ohne der db class wär fein
     
  13. 23. Januar 2010
    AW: Maximale Anzahl dann Stop

    Ich raffs nich wtf du brauchst nur den counter und dafür legst du ne MySQL Tabelle an? Du loggst die SMS nich? na dann isses noch einfacher... file_put_contents und file_get_contents auf './counter' oder so und there u go. Hier findest du noch etwas Spielzeug für deinen Filezugriff.
     
  14. 23. Januar 2010
    AW: Maximale Anzahl dann Stop

    Wie wäre es mit deinem code da oben ohne dieser db class?? du bist ja der kenner und könner =)
     
  15. 24. Januar 2010
    AW: Maximale Anzahl dann Stop

    Da du kein Interesse zu haben scheinst wie man so eine Sache angeht, und du nen Simplen Classdummy nicht durch den richtigen PHP-Internen MYSQL-Befehl ersetzen kannst, und eine MySQLTabelle für nen Counter sowieso keinen Sinn macht, werde ich es dabei belassen. Hier kann man nach Hilfe fragen aber andere seinen Code schreiben lassen zu wollen ist moralisch verwerflich und wird bei mir mit Ablehnung bestraft.
     
  16. 30. Januar 2010
    AW: Maximale Anzahl dann Stop

    ums vielleicht bisstl einfacher auszudrücken:
    hadean will dir erklären, dass du die sms nicht extra zählen musst via mysql.

    du speicherst bei erfolgreichem smsversand das datum:
    PHP:
    $heute  getdate ();  // holt jetzigen timestamp
    $datum  $heute [ 'year' ] .  '-'  $heute [ 'mon' ] .  '-'  $heute [ 'mday' ];  // wandelt timestamp in datumsformat um
    wenn du dann überprüfen willst, ob du schon 100 versand hast:
    holst du dir nur per mysql_befehl die anzahl der einträge, die schon versand wurden.

    PHP:
    $today  $urDBClass -> fetch ( "SELECT COUNT(id) as anzahl FROM sent_sms WHERE sent_date = '"  $datum  "';" );  //hole nur die anzahl der sms, die heut bis jetzt versand wurden.
    $todayCount  = (integer) $today [ 'anzahl' ];  // speichere die anzahl in der variable $todayCount
    nun musst du nur noch überprüfen, ob heute schon 100 versand wurden:
    PHP:
    if( $todayCount  >=  100 // anzahl >= 100
    {
    echo 
    'U no send sms 2day!' //falls ja --> gib fehlermeldung
    }
    else
    {
       
    // falls nicht zeige formular
    }
    ist aus meiner sicht auch die beste möglichkeit
     
  17. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.