kostenloser Webspace werbefrei: lima-city


Fehler im Cashin System...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web609/html/pages/spenden.php on line 57


    <?PHP
      if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
      
      $maxStunde = 10;
      $aZeit = array(
        'tag' => date("j",time()),
        'monat' => date("n",time()),
        'jahr' => date("Y",time()),
        'stunde' => date("G",time())
      );
      
      $cmdAnz = "SELECT COUNT(*) AS anzEintraege FROM ".SQL_HP_DB.".psc_log WHERE DAY(datum)='".$aZeit['tag']."' AND MONTH(datum)='".$aZeit['monat']."' AND YEAR(datum)='".$aZeit['jahr']."' AND HOUR(datum)='".$aZeit['stunde']."' LIMIT 1";
      $qryAnz = mysql_query($cmdAnz,$sqlHp);
      $getAnz = mysql_fetch_object($qryAnz);
      
      if($getAnz->anzEintraege<$maxStunde) {
        
        if(isset($_POST['getcoins']) && $_POST['getcoins']=="beantragen") 
        {
        
          
          if(checkVoucher($_POST['voucher']) && checkInt($_POST['betrag']) && $kartenTypen[$_POST['cardTyp']] && $waehrungen[$_POST['waehrung']] && $_POST['captcha']==$_SESSION["captcha_id"])
          {
            $cardVoucher = mysql_real_escape_string($_POST['voucher']);
            $cardVoucher = str_replace('-','',$cardVoucher);
            $cardBetrag = mysql_real_escape_string($_POST['betrag']);
            $cardWaehrung = mysql_real_escape_string($_POST['waehrung']);
            $cardTyp = mysql_real_escape_string($_POST['cardTyp']);
            $cardPasswort = mysql_real_escape_string($_POST['voucherpass']);
            $kommentar = mysql_real_escape_string($_POST['kommentar']);
            
            $cmdCheck = "SELECT id FROM ".SQL_HP_DB.".psc_log WHERE psc_code='".$cardVoucher."'";
            $qryCheck = mysql_query($cmdCheck,$sqlHp);
            
            if(mysql_num_rows($qryCheck)>0) {
              echo'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank f&uuml;r die Spende werden Ihnen demn&auml;chst Coins gutgeschrieben. </p>';
            }
            else {
            
              $sqlCmd = sprintf("INSERT INTO ".SQL_HP_DB.".psc_log (account_id,card_type,waehrung,psc_code,psc_betrag,psc_pass,status,kommentar,datum) VALUES ('%s','%s','%s','%s','%s','%s',0,'%s','%s')",
                $_SESSION['user_id'],
                $cardTyp,
                $cardWaehrung,
                $cardVoucher,
                $cardBetrag,
                $cardPasswort,
                $kommentar,
                $sqlZeit
               );
        
              $qryRequest = mysql_query($sqlCmd,$sqlHp);
              if($qryRequest) 
              {
                echo'<p class="meldung">Die Spende wurde erfolgreich abgegeben. Als Dank f&uuml;r die Spende werden Ihnen demn&auml;chst Coins gutgeschrieben. </p>';
              }
              else 
              {
                echo'<p class="meldung">Antrag fehlgeschlagen. Bitte einen GM kontaktieren.</p>';
              }
              
            }
            
          }
          else
          {
            echo'<p class="meldung">Es wurden Falscheingaben gemacht. Bitte f&uuml;llen Sie das Formular noch ein mal korrekt aus.</p>';
          }
        
        }
      
      ?>


    Ich werde aus dem tag/fehler">Fehler net schlau .__.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das hat weniger mit deinem Cache zu tun, als mit fehlerhaften SQL-Queries.
  4. füge statt
    $cmdAnz = "SELECT COUNT(*) AS anzEintraege FROM ".SQL_HP_DB.".psc_log WHERE DAY(datum)='".$aZeit['tag']."' AND MONTH(datum)='".$aZeit['monat']."' AND YEAR(datum)='".$aZeit['jahr']."' AND HOUR(datum)='".$aZeit['stunde']."' LIMIT 1";
      $qryAnz = mysql_query($cmdAnz,$sqlHp);
      $getAnz = mysql_fetch_object($qryAnz);

    das hier ein
    $db = SQL_HP_DB;
    $cmdAnz = <<< EOT
    SELECT COUNT(*) AS anzEintraege 
    FROM $db.psc_log 
    WHERE DAY(datum)='$aZeit['tag']' AND 
      MONTH(datum)='$aZeit['monat']' AND 
      YEAR(datum)='$aZeit['jahr']' AND 
      HOUR(datum)='$aZeit['stunde']' 
    LIMIT 1
    EOT;
    
    // nur mal zu sehen, was da drin ist
    echo $cmdAnz . '<hr />';
    
    if($qryAnz = mysql_query($cmdAnz,$sqlHp)) {
    
      // wenn es gut get
      echo $getAnz = mysql_fetch_object($qryAnz);
    
    } else {
    
      // etwas ist faul. das was hier ausgegeben wird,
      // solltest verstehen oder posten
      echo '<pre>'.print_r(array(mysql_errno(), mysql_error()), true);
    
    }

    um zu sehen, was die echte fehlermeldung ist

    Beitrag zuletzt geändert: 5.8.2011 1:28:13 von hemiolos
  5. 1. EOT ist an dieser Stelle nicht angebracht.
    2. Das wird nicht funktionieren, da man Variablen durch doppelte Anführungszeichen vom restlichen Text abgrenzen muss.

    Und wirklich: Wie kommt man auf die Idee, an dieser Stelle EOT zu verwenden?
  6. drafed-map schrieb:
    1. EOT ist an dieser Stelle nicht angebracht.
    2. Das wird nicht funktionieren, da man Variablen durch doppelte Anführungszeichen vom restlichen Text abgrenzen muss.

    also mal langsam mit den pferden. der reihe nach:
    1. wer sagt das??
    2. wer sagt das?? siehe im beispiel den teil:
    WHERE description='{$description['desc']}'
    sogar das '{...['..']...}' funktioniert! (seltsam?)

    Und wirklich: Wie kommt man auf die Idee, an dieser Stelle EOT zu verwenden?
    in dem man, bevor man etwas macht, reichlich darüber nachgedacht hat. tuts zu strapazieren ist auch nicht verkehrt.

    1. EOT ist überall verwendbar, wo man einer variable TEXT VORFORMATIERT zuweisen will (EOT = 'End Of Text', aber ob manns glaubt oder nicht, es kann statt EOT auch JAECKCHEN_WIE_HOESCHEN heßen, weil das nur eine MARKE ist. im folgendem beispiel steht auch so. ja noch unerhörter, man kann die selbe marke im selben code mehrmals anwenden).
    2. der hauptgrund, warum ich so exzessiv damit umgehe, ist, dass man dabei auf escaping so gut wie verzichten kann. (siehe letzte teil des beispiels, wo der htmlcode zusammengesetzt wird. aber auch beim sql-query, wenn man die lesbarkeit durch vormatierung erleichtern will. hier im forum extrem selten.)

    für alle, die es glauben - wie @drafed-map sagt - , dass all das nicht gehen kann, hier ein beispiel. ist jetzt alles senkrecht? (wer die ähnlichkeit zur originalaufgabe nicht sieht, dem ist nicht zu helfen.)

    lg

    p.s.: mein einziger fehler in der eile war:
    $cmdAnz = <<< EOT
    SELECT COUNT(*) AS anzEintraege 
    FROM $db.psc_log 
    WHERE DAY(datum)='{$aZeit['tag']}' AND 
      MONTH(datum)='{$aZeit['monat']}' AND 
      YEAR(datum)='{$aZeit['jahr']}' AND 
      HOUR(datum)='{$aZeit['stunde']}' 
    LIMIT 1
    EOT;
    also array-elemente gehören zwischen {}. mea culpa ...
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!