Website mit Zufallsgenerator?

6 Antworten

Zum Beispiel mit PHP, JavaScript, etc. Da es in der Computer-Welt keinen Zufall gibt, muss man sich den Zufall / eine Zufallszahl irgendwo her holen. Dafür wird gerne die aktuelle Uhrzeit des Besuchers genommen. Im Timestamp-Format ist das eine Zufallszahl.

a)

Du löst dies serverseitig, bspw. mit PHP, wenn du einen Webserver hast, der PHP unterstützt. Der Link verweist auf ein PHP-Skript. In dem PHP-Skript legst du ein Array an, in dem alle Begriffe stehen. Dann erzeugst du eine Zufallszahl

http://php.net/manual/de/function.rand.php

in den Grenzen von 0 bis zur Größe des Arrays (0 <= x < length). Den ermittelten Wert verwendest du als Index für das Array und gibst das Element schlussendlich aus.

b)

Du löst dies clientseitig mit JavaScript. Der Algorithmus ist gleich, bis auf der Name der Funktionen:

https://www.w3schools.com/jsref/jsref_random.asp

Das Script wird in einem script-Block eines HTML-Dokument eingebunden. Die Ausgabe könnte bspw. via alert-Befehl erfolgen.

PS: Für Methode a) eignet sich diese Funktion sogar noch besser: http://php.net/manual/de/function.array-rand.php

<?php
$antworten = array("Hund","Katze","Maus");
$ausgabe = $antworten[rand(0, (count($antworten)-1))];
echo "$ausgabe";
?>

Wenn du den Text dann lieber mit JavaScript weiterbearbeiten & ausgeben willst, ersetz den echo Befehl durch diesen hier:

echo "<script> var randWord = \"".$ausgabe."\";<\/script>"; 

~Tim


timlg07  04.11.2017, 21:19

den Backslash \ vor dem / musst wegmachen

(PS: das Wort ist dann in randWort gespeichert.)

0

Kannst du mit PHP machen, bestimmt auch mit JavaScript.


WebsiteAdmin123 
Beitragsersteller
 04.11.2017, 19:34

Ja, soweit war ich auch schon, nur mir fehlt bei PHP die nötigen Kenntnisse. Ein Script wäre super. Aber trotzdem Danke für die Antwort!

0

Zufallszahlen kannst du mit JavaScript erzeugen.
Hier ist mal ein Beispiel
https://jsfiddle.net/wkbdwx15/


WebsiteAdmin123 
Beitragsersteller
 04.11.2017, 21:11

Kannst du mir sagen, wo der Fehler ist?

Ich habe den Code von jsfiddle.net in ein Website Script gepackt: 

<html>

<head>

<script>
function randomInteger(max) {
return Math.floor(Math.random() * max);
}

var arr = ["Hund", "Katze", "Maus"];
document.getElementById("zufaelligeNachricht").innerHTML=arr[randomInteger(arr.length)];

</script>

</head>

<body>

<div id="zufaelligeNachricht"> </div>

</body>   

</html> 

0
Spiderpig42  04.11.2017, 21:28
@WebsiteAdmin123

Du musst dafür sorgen, dass der Code erst dann ausgeführt wird, wenn der Browser die Seite komplett geladen hat. Versuch das hier:

window.onload = function() {
var arr = ["Hund", "Katze", "Maus"];
document.getElementById("zufaelligeNachricht").innerHTML=arr[randomInteger(arr.length)];
}
0
WebsiteAdmin123 
Beitragsersteller
 05.11.2017, 09:19
@Spiderpig42

So funktioniert es immer noch nicht:

window.onload = function() {

function randomInteger(max) {

return Math.floor(Math.random() * max);

}

var arr = ["Hund", "Katze", "Maus"];

document.getElementById("zufaelligeNachricht").innerHTML=arr[randomInteger(arr.length)];

0