Autor Zpráva
Matěj Hofman
Profil
Dobrý den,

Potřebuji poradit s se scriptem pro vytvoření náhodného čísla, se kterým mohu vykonat více operací.

Mám na webu formulář, po vyplnění se do databáze uloží data společně s ID, které jsem náhodně vygeneroval pomocí $id = mt_rand(1000000000, 9999999999);
a zároven se ID odešle na email, který byl zadán ve formuláři, vše by fungovalo, ale problém je v tom, že do databáze se vygeneruje jedno číslo a do emailu druhé (takže je každé jiné).
Já právě potřebuji aby byla ta čísla stejná, poradí mi někdo ?
Fisir
Profil
Reaguji na Matěje Hofmana:
Ulož si výsledek funkce do proměnné a tu použij jak v SQL dotazu, tak v emailu.
RastyAmateur
Profil
Matěj Hofman:
Mně tvůj script normálně funguje. Pokud jsi do emailu a databáze ukládal pokaždé $id a ne mt_rand(1000000000, 9999999999), tak by to mělo fungovat.
<?php
  $num = mt_rand(1000000000, 9999999999);
  echo $num; # Vypíše TO VYGENEROVANÉ číslo
  echo mt_rand(1000000000, 9999999999); # Vypíše něco jiného
  echo $num; # Vypíše opět to první číslo
?>
Na to si dej bacha!
Matěj Hofman
Profil
vytvořím ID - $id = mt_rand(1000000000, 9999999999);

uložím do DB -
mysqli_query($con,"INSERT INTO tabulka VALUES('$id','$cas','$jmeno','$email','0')");
odešlu v emailu - mail($email, 'Title', 'Vaše ID: '.$id , $headers);

Pokaždé je ID rozdílné


Mohl bych nejprv uložit ID do DB, pak ho vybrat z DB a poslat do emailu ale raději bych to udělal bez toho. :)
anonymníí
Profil *
Matěj Hofman:
uložím do DB [...] odešlu v emailu [...] Pokaždé je ID rozdílné
Něco děláš špatně, kód tak, jak je napsaný, musí poslat to samé číslo.

Generuješ si někde dvě různá čísla, ale to je zrovna v kódu, který jsi schoval. Tyto tři řádky tak, jak tu jsou, musí fungovat dobře, alespoň, co se toho čísla týče.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: