Avatar billede jacobs1 Nybegynder
09. marts 2005 - 18:22 Der er 9 kommentarer og
1 løsning

random der ikke virker?

Jeg har lavet denne lille if sætning, jeg vil gerne have at variablen $_session("sti_topbar")får en værdi fx 4.jpg??
Men det dur ikke ??

<?php
if($_session("sti_topbar")==""){
$_session("sti_topbar") = "gmp_random(5).jpg ";
}else{
$_session("sti_topbar")= $_session("sti_topbar");
}
?>
Avatar billede jakoba Nybegynder
09. marts 2005 - 18:35 #1
du kaj ikke kalde en funktion indeni en streng.
oh gmp_random duer ikke her, den denererer adskillige cifre i en streng
brug rand istedet: http://dk.php.net/manual/en/function.rand.php

<?php
if($_session("sti_topbar")==""){
$_session("sti_topbar") = rand(0,4) . ".jpg ";
}else{
$_session("sti_topbar")= $_session("sti_topbar");
}
?>
Avatar billede jacobs1 Nybegynder
09. marts 2005 - 18:39 #2
Mange tak for hjælpen :) Jeg er ret ny til php..

Det virker stadig ikke? skal man skrive dette her foran session?
session_start();
session_register();
Avatar billede jacobs1 Nybegynder
09. marts 2005 - 18:40 #3
hele scriptet ser sådan her ud:

<?php
session_start();
session_register();
<?php
if($_session("sti_topbar")==""){
$_session("sti_topbar") = rand(0,4) . ".jpg ";
}else{
$_session("sti_topbar")= $_session("sti_topbar");
}
?>>

<img src="topbarpic/<?php echo $_session("sti_topbar");?>">
Avatar billede jacobs1 Nybegynder
09. marts 2005 - 18:47 #4
jeg fand ud af det :) man skal skal bruge [] i stedet for () haha

Læg et svar så du kan få dine point
Avatar billede jakoba Nybegynder
09. marts 2005 - 18:49 #5
der er ingen mening i at kalde  session_register  uden nogle parametre. den skal have navnene på de variable du ønsker din session skal huske fra side til side.
fx:
    session_register( "sti_topbar" );
Avatar billede jakoba Nybegynder
09. marts 2005 - 18:51 #6
Ok.
Avatar billede jacobs1 Nybegynder
09. marts 2005 - 18:58 #7
Det virker heller ikke en skid...men kode melder bare ikke fejl længere...

Jeg vil gerne have det sådan, at første gang man åbner siden laver den en tilfældig billede sti.. og så husker den billede stien i en session. ligesom en billederotation, bare for hver gang man åbner en ny browser??

Men det ser ud som at der ikke bliver gemt noget i sessionen????
Da den hele tiden henter et nyt billede frem når jeg trykker på f5...

<?php

if($_session["sti_topbar"]==""){
$_session["sti_topbar"] = rand(0,4) . ".jpg ";
}else{
$_session["sti_topbar"]= $_session["sti_topbar"];
}
?>

<img src="topbarpic/<?php echo $_session["sti_topbar"];?>">
Avatar billede jakoba Nybegynder
09. marts 2005 - 19:07 #8
<?php
session_start();

if(    !isset( $_session["sti_topbar"[ )    // hvis den ikke findes
    ||                                      // eller
      $_session["sti_topbar"] == ""        // hvis den er tom
  ){
    $sti_topbar = rand(0,4) . ".jpg ";
    session_register("sti_topbar");        // fortæl session den variabel skal huskes
}
  // else delen er overflødig

?>

mvh JakobA
Avatar billede jacobs1 Nybegynder
09. marts 2005 - 19:18 #9
Jeg for disse her fejlmeldinger:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /srv/www/htdocs/web2/html/nyekunder/banned.php:9) in /srv/www/htdocs/web2/html/nyekunder/banned.php on line 10

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/htdocs/web2/html/nyekunder/banned.php:9) in /srv/www/htdocs/web2/html/nyekunder/banned.php on line 10

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

koden ser sådan her ud :

<body>
<?php
session_start();

if(    !isset( $_session["sti_topbar"] )    // hvis den ikke findes
    ||                                      // eller
      $_session["sti_topbar"] == ""        // hvis den er tom
  ){
    $sti_topbar = rand(0,4) . ".jpg ";
    session_register("sti_topbar");        // fortæl session den variabel skal huskes
}
  // else delen er overflødig

?>
<img src="topbarpic/<?php echo $_session["sti_topbar"];?>">
</body>
Avatar billede jakoba Nybegynder
09. marts 2005 - 19:43 #10
der må ikke være nogetsomhest output foran  session_start(). Du har skrevet en linie med html kommadien <body> der. det går ikke, bare et blanktegn foran første <?php  er for meget.

<?php
session_start();

if(    !isset( $_session["sti_topbar"] )    // hvis den ikke findes
    ||                                      // eller
      $_session["sti_topbar"] == ""        // hvis den er tom
  ){
    $sti_topbar = rand(0,4) . ".jpg ";
    session_register("sti_topbar");        // fortæl session den variabel skal huskes
}
  // else delen er overflødig

?>
<html>
<body>
<img src="topbarpic/<?php echo $_session["sti_topbar"];?>">
</body>
</html>

jeg har tilføjet et <html> og et </html>. Husk at det du genererer med php bør være en lovlig html-side

mvh JakobA

tak for pts
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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