Avatar billede kalaharikid Nybegynder
11. juni 2014 - 11:00 Der er 6 kommentarer

begynderspørgsmål - random string i variabel

Et absolut begynder spm .. Jeg er stadig ved at lære PHP .. Laver en random string med dette script:

<?php
function randomstring($len)
{
$string = "";
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for($i=0;$i<$len;$i++)
$string.=substr($chars,rand(0,strlen($chars)),1);
return $string;
}
$secret_string = randomstring(20) ;
?>

Denne værdi vil jeg gerne have gemt i en variabel så jeg kan tage den med mig rundt. Dvs sige at jeg ikke vil have en NY string hvergang jeg kalder $secret_string, hvordan gør man det?
Avatar billede repox Seniormester
11. juni 2014 - 11:27 #1
I og med at $secret_string har fået tildelt returværdien af funktionen, så kan variablen genbruges i alle henseende i samme request indtil du overskriver eller unsetter variablen.

Hvis du gerne vil bruge den samme streng på tværs af requests, så skal du benytte sessions.
Avatar billede kalaharikid Nybegynder
11. juni 2014 - 13:29 #2
Tak for svaret, muligvis i forbindelse med at koden skal gemmes via en insert record (og med i en redirect url der bliver bygget før resten af siden) dukkede der hele tiden to forskellige strings op..

Det her virker men er det legit?

session_start();
if(empty($_SESSION['key'])){
$_SESSION['key'] =  randomstring(20) ;
}
Avatar billede repox Seniormester
11. juni 2014 - 20:41 #3
Hvornår og til hvad skal den tilfældige streng bruges?
Avatar billede kalaharikid Nybegynder
12. juni 2014 - 09:13 #4
Den skal bruges til at lave et unikt id som den der har udfyldt formularen kan bruge til at gennemse sine svar og sende sidelink til sig selv, måske endda indholdet...?
Avatar billede repox Seniormester
12. juni 2014 - 14:33 #5
Hvorfor så ikke nøjes med at generere den random streng i det øjeblik skal bruges i stedet for at sende variablen med rundt på siderne?
Avatar billede Stickano Nybegynder
17. juni 2014 - 14:33 #6
Bliver dataen gemt i en database? For så vil jeg anbefale dig at oprette din random string 1 gang, gemme den i databasen og -Ja så skulle jeg vel egentlig mene problemet var løst allerede der?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester