Zufälligen Text
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
array
befehl
browser
code
dank
datei
fehler
greifen
inhalt
mache
rand
text
url
vergleich
verzweigung
weben
zahl
zeile
zufall
-
Hallo, ich weiß nicht ob das mit PHP möglich ist, oder ob man da besser javascript nimmt, also seit mir nicht böse, falsch ich im falschen Forum bin =)
Ich suche ein kleines Script, in das man mehrere Texte eingibt. Beim Aufrufen der Seite soll dann einer der Texte erscheinen und bei jedem aktualisieren ein anderer.
Kennt jemand so ein Script?
Danke im Vorraus!
MFG German-Web -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hey das kannst du mit beidem Machen
PHP:
$texte[] = "Text1"; $texte[] = "Text2"; $texte[] = "Text3"; $texte[] = "Text4"; $texte[] = "Text5"; $texte[] = "Text6"; $texte[] = "Text7"; $texte[] = "Text8"; $num_of_text = count($text) - 1; echo $text[rand(0,$num_of_text)]; //gibt per Zufall einen der 8 Texte aus
-
Danke erstmal!
Bin auf dem Gebiet PHP jetzt noch ein absoluter Neuling - was muss ich machen, damit der Text jetzt angezeigt wird?
Wenn ich folgendes in eine leere php Datei schreibe und hochlade, öffnet der Browser eine Seite one Inhalt :(
<?php $texte[] = "Text1"; $texte[] = "Text2"; $texte[] = "Text3"; $texte[] = "Text4"; $texte[] = "Text5"; $texte[] = "Text6"; $texte[] = "Text7"; $texte[] = "Text8"; $num_of_text = count($text) - 1; echo $text[rand(0,$num_of_text)]; ?>
Beitrag zuletzt geändert: 6.2.2012 3:41:02 von german-web -
german-web schrieb:
Ganz einfach warum: du hast dich verschrieben. In der Zeile
Wenn ich folgendes in eine leere php Datei schreibe und hochlade, öffnet der Browser eine Seite one Inhalt :(
gehört statt$num_of_text = count($text) - 1;
einfach$text
. Bei der Ausgabe ist der gleiche Fehler nocheinmal.$texte
Also gesamt:<?php $texte[] = "Text1"; $texte[] = "Text2"; $texte[] = "Text3"; $texte[] = "Text4"; $texte[] = "Text5"; $texte[] = "Text6"; $texte[] = "Text7"; $texte[] = "Text8"; $num_of_text = count($texte) - 1; echo $texte[rand(0,$num_of_text)]; ?>
Beitrag zuletzt geändert: 6.2.2012 9:07:03 von hackyourlife -
knuspercraft schrieb:
Das geht mit dem Befehl rand() :
z.B.
$text1 = "Du";
$text2 = "Duda";
$text3 = "Budda";
$zahl = rand(1,3);
if (zahl = 1) echo $text1;
if (zahl = 2) echo $text2;
if (zahl = 3) echo $text3;
Die Variante mit dem Array von dexus85/hackyourlife ist eindeutig besser da deine Variante viel zu statisch ist und außerdem sind deine if-Anweisungen "fehlerhaft". Also @german-web benutze lieber die Variante die hackyourlife gepostet hat.
Beitrag zuletzt geändert: 6.2.2012 14:03:34 von alfr3d -
wo ist den mein Fehler bei If ?
Sry, mache immer noch fehler, aber sag pls was falsch ist. -
knuspercraft schrieb:
wo ist den mein Fehler bei If ?
Sry, mache immer noch fehler, aber sag pls was falsch ist.
1. du verwendest den Zuweisungsoperator und nicht den Vergleichsoperator
2. hast du die $-Zeichen bei den Variablen vergessen
Dein Code müsste also so aussehen:
if ($zahl == 1)
Ich persönlich verwende auch stets die geschweiften Klammer (außer ich verwende die Kurzschreibweise für if-else mit ? :), ist aber kein muss (falls ich mich nicht irre), das muss jeder selbst wissen, es macht meiner Meinung nach den Code aber einfach übersichtlicher.
Außerdem würde ich bei solch einem Vergleich, evtl schon zu switch-case oder elseif greifen und das nicht mit reinen if -Anweisungen lösen...
Beitrag zuletzt geändert: 6.2.2012 14:19:12 von alfr3d -
knuspercraft schrieb:
Überleg mal, wie lange es dauert, aus einem Array, das 200 Elemente groß ist, einen Wert auszulesen, und vergleich das mit der Zeit die benötigt wird, um 200 if-Verzweigungen zu durchlaufen, weil der gesuchte Wert am Ende des Arrays gespeichert ist.
wo ist den mein Fehler bei If ?
Abgesehen davon ist die Array-Variante viel flexiebler, da um eine neuen Text einzufügen immer nur das Array selbst verändert werden muss (1 Zeile). Bei den if-Verzweigungen muss jeweils mehr Code geschrieben werden. Gleichzeitig kann das Array an 2,3,... Stellen im Code verwendet werden, die if-Verzweigungen müsste man jedes mal neu schreiben (oder als Funktion definieren, ...). Egal wie, die if-Verzweigungen sind in diesem Fall der schlechteste Weg. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage