PHP Shuffle Fehler

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Shuffle Fehler

    Hallo, ich kenn mich noch nicht so gut aus mit PHP und wollte mir ein banner Exchange Script installieren, alles klappt nur die Anzeige der banner nicht.
    Es kommt immmer die Fehlermeldung:

    Warning: shuffle() expects parameter 1 to be array, null given in ...../getbanner.inc on line 13

    Warning: shuffle() expects parameter 1 to be array, null given in ...../getbanner.inc on line 15

    Datei Getbanner.inc:
    PHP-Code:
    <?

    $result_get_user_info = mysql_query("SELECT * FROM users WHERE id='$uid'");
    $user_info = mysql_fetch_array($result_get_user_info);

    $result_get_banner = mysql_query("SELECT user_login FROM users WHERE imp_left > 0 AND act='1' AND numban > 0");

    while ($banner = mysql_fetch_array($result_get_banner)){
    $bid[] = "$banner[user_login]";
    }
    $ip = getenv ("REMOTE_ADDR");
    srand ((float)microtime()*1000000);
    shuffle ($bid);
    srand ((float)microtime()*1000000);
    shuffle ($bid);

    $id = "$bid[0]";
    $id2 = "$bid[1]";

    $checkban = "$banner[lastbannerid]";
    If ($id == "$checkban"){
    $id = "$bid[1]";
    }

    ElseIf ($id == ""){
    $id = "$bid[1]";
    }

    ElseIf ($id != "$checkban" || $id != ""){}

    mysql_pconnect("$dbhost", "$dbuser", "$dbpass")
                or die ("Unable to connect to database.");
            mysql_select_db("$dbname")
                or die ("Unable to select database.");
    If ($id != "$user_info[user_login]"){
    $result_get_banner_info = mysql_query("SELECT * FROM banners WHERE user='$id'");

    $banner_info = mysql_fetch_array($result_get_banner_info);
    }
    If ($id == "$user_info[user_login]"){
    mysql_pconnect("$dbhost", "$dbuser", "$dbpass")
                or die ("Unable to connect to database.");
            mysql_select_db("$dbname")
                or die ("Unable to select database.");
    $result_get_banner_info = mysql_query("SELECT * FROM banners WHERE user='$id2'");
    $banner_info = mysql_fetch_array($result_get_banner_info);
    }

    ?>

  • #2
    Hallo,

    zunächst setzt du bitte mal das error_reporting auf E_ALL. Dann informierst du dich bitte, wie und warum man Variablen initialisiert und dann haben Variablen nichts in Strings zu suchen, auch wenn es (noch) funktioniert
    PHP-Code:
    $id $bid[0];      // gut
    $foo $bar['baz']; // gut
    $id "$bid[0]";    // schlecht
    $foo "$bar[baz]"// schlecht 
    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 02.12.2009, 19:25.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Salü,
      Setz mal [COLOR="blue"]$bid [COLOR="green"]=[/COLOR] array();[/COLOR] an den Anfang des Scripts. (Variable initialisieren, wie AmicaNoctis bereits gesagt hat.)
      Des Weiteren ist es nicht mehr nötig die Funktion [COLOR="blue"]srand()[/COLOR] zu verwenden, d.h. du kannst die beiden betreffenden Zeilen rauslöschen.
      Und warum benutzt du zweimal [COLOR="Blue"]shuffle()[/COLOR] hintereinander? Das bringt doch nichts.
      Auswahl an PHP- und weiteren Scripts auf meiner Website.

      Kommentar


      • #4
        ich verschieb das jetzt mal ins richtige Forum
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar

        Lädt...
        X