aiuto con script dado

  • Creatore Discussione Creatore Discussione Edoardo-
  • Data di inizio Data di inizio

Edoardo-

Nuovo Utente
5 Lug 2008
9
0
0
sto agli inizi e voglio creare un dado con il php con 20 faccie ma ho sbagliato qualcosa perchè mi esce sempre 0
Codice:
<HTML>
<?


$rnd1 = 0; PENSO CHE QUA STIA L'ERRORE


function genrnd() {
global $rnd1;
$rnd1 = rand(1,20);

return $rnd1;

}
echo $rnd1;
?>
</HTML>
se volete posso inserire anche la prova
 
ti dà 0 perchè in realtà non fai mai la chiamata a funzione! :)

tu dichiari $rnd1 = 0, scrivi la funzione, poi stampi a schermo $rnd1. Giustamente il risultato è 0, perchè nulla è successo tra la dichiarazione iniziale ($rnd1 =0) e la stampa a schermo (echo ...).

per far sì che funzioni, devi lanciare la funzione, magari assegnandola a $rnd1 (o qualsiasi altra variabile). Nota che in PhP non c'è bisogno di inizializzare la variabile ($rnd1=0).

il codice funzionante dovrebbe essere questo:

PHP:
<HTML>
<?

// Non c'è bisogno di questa dichiarazione
// $rnd1 = 0; PENSO CHE QUA STIA L'ERRORE

// qui dichiari la funzione genrnd()

function genrnd() {

// questo è abbastanza inutile
// global $rnd1;

$numero_casuale = rand(1,20);

return $numero_casuale;

}

// ecco la chiamata della funzione e l'assegnazione alla variabile $rnd1
$rnd1 = genrnd();

// stampiamo a schermo
echo $rnd1;
?>
</HTML>

ciao!
 
quindi

mi dai il risultato utilizzabile seza dover cancellare tutti quei commenti please lo so chiedo molto :beer:
Codice:
<HTML>
<HTML>
<?


//genrnd()

function genrnd() {



$numero_casuale = rand(1,20);

return $numero_casuale;

}

// ecco la chiamata della funzione e l'assegnazione alla variabile $rnd1
$rnd1 = genrnd();


echo $rnd1;
?>
</HTML> 

</HTML>
 
Ultima modifica:
scusate il doppio post

allora una volta fatto il dado devo fare un pulsante tipo modifica quota o replay per un foro che attivi il dado ed invii direttamente il messaggio senza possibilità di esser cambiato o cancellato

ho creato il form
Codice:
<form action=http://edorules.altervista.org/Dado.php="_blank">
  <input type="submit"value="lancia il dado">
</form>
ma nn so fare la seconda parte cioè l'invio dell messaggio
 
Ultima modifica:
se vuoi migliorare la funzione in modo tale da poter cambiare il tipo di dado (p.es. per un tiro ti serve un d8, poi un d6, poi un d12 ecc), anzichè scrivere una funzione apposita puoi modificare il codice come segue:

PHP:
<?
function genrnd($max=20) {

$numero_casuale = rand(1,$max);

return $numero_casuale;

}
?>

la chiamata della funzione sarà quindi:

per un d8:
PHP:
$numero_random = genrnd(8);

per un d20:
PHP:
$numero_random = genrnd(20);

per quanto riguarda l'implementazione nella pagina , il form che hai fatto non fa niente. ti consiglio di leggere qualche guida omnicomprensiva (quella su mrwebmaster è ottima).
in ogni caso, ti propongo la mia soluzione, che crea un pulsante, il quale ad ogni pressione presenta il risultato nella stessa pagina.

PHP:
<html>
<head>
<title>Dado</title>
</head>
<body>

<?
    function genrnd($max=20) {
            $numero_casuale = rand(1,$max);
             return $numero_casuale;
     }


    if (isset($_POST['tira']) && $_POST['tira']==true){
            $numero = genrnd(20); // NOTA, avendo specificato nella definizione della funzione il valore di default $max=20, aver specificato 20 nella chiamata è ridondante
   }
?>

<form name="lancio_D20" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">

<input type="submit" value="LANCIA" name="tira">
</form>

<p><b>Risultato:</b> <? echo $numero; ?></p>

</body>
</html>
 
Ultima modifica:
mi dai il tuo indirizzo msn??? che ho altre domande da farti
si quello sopra andrebbe bene ma vorrei che lo potesse usare solo i mode
 
Ultima modifica:
scusami, ma mi sta che stiamo parlando di due cose differenti...

che c'entra il BB Code? quello è il linguaggio dei forum PhPbb e io non so lavorarci più di tanto.
e l'admin che c'entra? non hai mai parlato di admin...

se non spieghi meglio il tuo problema contestualizzandolo, non possiamo aiutarti.
 
si hai ragione devo inserire in un forum un pulsante che mi faccia uscire un dado nel messaggio di risposta o che invi lui stesso un messaggio sul forum perchè vorrei creare un gdr
 
mmm...sinceramente non saprei come fare. credo che dovresti avere i sorgenti del forum per modificarne il codice e inserire il tuo script.

se devi inserirlo in un forum già creato (tipo forumfree.net) non saprei come realizzarlo, mi spiace. se invece ti crei tu il forum, allora è abbastanza semplice da gestire.

forse qualcun altro qui è in grado e sa proporti una soluzione.
 
si scusate nn ci sono stato per dove intendevo quale sito di hosting nn ditemi ne netson ne altervista che in uno nn mi prendono nell altro mi fanno andare in freva quegli altercent
 
il discorso non è quale servizio di forum "prefabbricato" utilizzare, perchè in nessun caso potresti inserire il tuo script (per quanto ne so io). quello che intendevo è che per inserire il tuo script facendolo interagire con il forum, devi "CREARTI" tu il forum, nel senso di scriverne il codice! e questo non lo puoi fare con i forum già pronti, perchè non ti fanno vedere il codice.
al limite, vai su mrwebmaster o php.html.it e scaricati uno script di forum, te lo studi, e cerchi di capire dove e come inserire il tuo script per farlo funzionare.
 

Discussioni simili