YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » WARNING: shuffle() expects parameter » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 5.043 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen WARNING: shuffle() expects parameter
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

 WARNING: shuffle() expects parameter Antworten Zitieren Editieren Melden       UP

Ich habe mir ein Script installiert, das zufällige Werte ausgeben soll, wenn man einen HTML-Code einbindet.
Aber jetzt kommt an der Stelle, an der der HTML-Code eingefügt wurde:
Zitat:
Warning: shuffle() expects parameter 1 to be array, null given in /usr/export/www/vhosts/funnetwork/hosting/wiegehtdas/bannertausch/inc/showb
anner/getbanner.inc on line 13

In Zeile 13 steht:
code:
1:
shuffle ($bid);

Woran liegt dieser Fehler?

__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
03.01.07 12:33 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

google.de "php Warning: shuffle() expects parameter 1 to be array, null given in"-> ein paar Links durchgeschaut -> http://www.flashforum.de/forum/archive/i...p/t-217375.html
03.01.07 12:45 [kamui] ist offline Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

Erstmal danke!
Mit PHP kenne ich mich leider nicht so gut aus, deshalb kann ich damit jetzt nicht allzu viel anfangen.
Also gibt es ja demnach für $bid nur einen Wert, also kann auch nichts "geschuffelt" werden, richtig?

__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
03.01.07 12:51 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Ich kenne dein Skript ja nicht, also kann ich dir nichts genaues sagen ...

Schau dir mal http://de3.php.net/shuffle an.
03.01.07 13:00 [kamui] ist offline Finden Als Freund hinzufügen
Radiation Radiation ist männlich
Mitglied


Dabei seit: 17.01.04
Beiträge: 2.089
Fähigkeiten: WBB3 Anfänger; WBB2 Profi
Herkunft: Reutlingen
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Ich würde tippen das $bid kein Array ist und Shuffle funktioniert nur im Array.

__________________
Mit freundlichem Gruß

Sascha Speidel

03.01.07 13:07 Radiation ist offline E-Mail WWW Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

Das Scrip heißt Banex.
In der Datenbank sind ja drei Werte für verschiedene Banner, dann ist es doch ein Array, oder? Er soll ja einen zufällig ausgewählten davon anzeigen.

__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
04.01.07 11:20 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Also, enwteder du hängst die Zeilen an, wo $bid & shuffle drin sind, oder du hängst einfach mal die gesamte Datei an Augenzwinkern

Wenn dus nicht in den Thread stellen willst, kannste mich auch im ICQ anschreiben

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von [kamui]: 04.01.07 11:33.

04.01.07 11:32 [kamui] ist offline Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

OK, dann hänge ich's mal an:

Dateianhang:
unknown getbanner.php (1,39 KB, 7 mal heruntergeladen)


__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
04.01.07 12:07 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Puh, also sieht eigentlich richtig aus soweit. Allerdings kenne ich die Funktion "shuffle()" erst, seit du hier dein Problem schilderst. Hast du es schon einmal mit rand probiert?
04.01.07 12:45 [kamui] ist offline Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

Nein, bisher noch nicht.
Sollte das dann so aussehen?
php:
1:
2:
3:
4:
5:
6:
7:
srand ((float)microtime()*1000000);
rand ($bid);
srand ((float)microtime()*1000000);
rand ($bid);

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


__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
04.01.07 13:40 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
lycoos lycoos ist männlich
Frauenstimme 2007


images/avatars/avatar-4473.gif

Dabei seit: 05.08.05
Beiträge: 1.076

Antworten Zitieren Editieren Melden       UP

Wie wäre es mit array_rand?




php:
1:
2:
3:
4:
5:
6:
 <?php
srand((float) microtime() * 10000000);
$Banner = array("Banner1""Banner2""Banner3""Banner4""Banner5");
$rand array_rand($Banner1);
echo $Banner[$rand[0]] . "\n";
?> 


__________________
mfg

der Lycoos


Der Satz des Pythagoras umfasst 24 Worte,die Zehn Gebote 279, die amerikanische Unabhängigkeitserklärung 300 und die Verordnung der EG über die Einfuhr von Karamelbonbons 25.911 Worte.


04.01.07 13:44 lycoos ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Nemo, bevor du eine Funktion anwendest, solltest du immer lesen, wie man das tut Zunge raus

Hier empfehle ich dir www.php.net Augenzwinkern Wenn du nicht erst auf die Page gehen willst, kannst du es auch so machen: php.net/FUNKTION (z.B. www.php.net/rand) Augenzwinkern
04.01.07 14:04 [kamui] ist offline Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

@Kamui: Hatte ich eigentlich auch. Aber ich wusste nicht, wie ich den Code genau verändern sollte.

@lycoos:
Etwa dann in meinem Fall so?

----------------
Statt:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
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 != ""){}


Das hier:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
srand ((float)microtime()*1000000);
$rand array_rand($bid1);
srand ((float)microtime()*1000000);
$rand array_rand($bid1);

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

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

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

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

Dann habe ich aber das hier nicht drin:
php:
1:
$Banner = array("Banner1""Banner2""Banner3""Banner4""Banner5");

Könnte man das denn irgendwie so machen?
php:
1:
2:
$Banner = array{
SELECT FROM database_table};

Ich weiß, Syntax ist zu 100% falsch! smile




##################



Edit:
Mit diesem Code hier
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
$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");
$bid[] = array("$banner[user_login]"); 
srand ((float)microtime()*1000000);
$rand array_rand($bid1);
srand ((float)microtime()*1000000);
$rand array_rand($bid1);

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

bekomme ich wenigstens keine Fehlermeldung mehr, aber auch keinen Banner:
http://hooklines.ho.funpic.de/

__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von |Nemo|: 05.01.07 22:26.

05.01.07 22:16 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
$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);
$rand array_rand($bid1);

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


Probiers mal so. (Wieso machst du eigtl. ein array_rand rein, wenn du am Ende $id und $id2 sowieso feste Werte zuweist ?)
06.01.07 00:23 [kamui] ist offline Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

Mit deinem Code kommt folgendes:
Zitat:
Warning: array_rand() [function.array-rand]: First argument has to be an array in /usr/export/www/vhosts/funnetwork/hosting/wiegehtdas/bannertausch/inc/showb
anner/getbanner.inc on line 15

Da ist ja auch vor "rand" kein Array...
Was ist denn an meinem Code noch falsch? Denn eine Fehlermeldung kommt ja nicht mehr:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
$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");
$bid[] = array("$banner[user_login]"); 
srand ((float)microtime()*1000000);
$rand array_rand($bid1);
srand ((float)microtime()*1000000);
$rand array_rand($bid1);

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


__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
06.01.07 12:17 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Also zu deinem Code:

- Du hast zweimal:
code:
1:
2:
srand ((float)microtime()*1000000);
$rand = array_rand($bid, 1);

drin, was unnötig ist, da es hintereinander ist, und die Variable $rand überschrieben wird.

- In Zeile 7 weist du dem Array $bid noch einen weiteren Wert zu, der selber ein Array ist, aber keinen Inhalt hat (denn es ist außerhalb der while()-Schleife, in der $banner gilt)
06.01.07 12:50 [kamui] ist offline Finden Als Freund hinzufügen
|Nemo| |Nemo| ist männlich
Mitglied


images/avatars/avatar-3150.jpg

Dabei seit: 04.12.05
Beiträge: 530
Herkunft: Düren
Forenversion: WBB Lite 1.02

Themenstarter Thema begonnen von |Nemo|
Antworten Zitieren Editieren Melden       UP

Danke!
Ich habe jetzt hier schon viel gelernt und werde mich weiter damit beschäftigen und viele Seiten im Internet lesen, bis ich es rauskriege! großes Grinsen
Das bringt glaube ich mehr, als wenn mir einer direkt den richtigen Code postet.

__________________
FUSSBALL - ARTIKELVERZEICHNIS

Social Bookmarking - Düren - Fußball-Forum
06.01.07 13:42 |Nemo| ist offline E-Mail WWW Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Das wird das beste sein. Denn "Learning by Doing" ist immernoch am besten, meiner Meinung nach Augenzwinkern
06.01.07 13:49 [kamui] ist offline Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » WARNING: shuffle() expects parameter