submit med <?php funktion ?>

Tags:    php

Jeg leder efter en funktion der gør, hvis jeg er på siden "Nyheder" og logger ind, skal den logge ind, men stadig være på Nyheder, og ikke Profil m.v.

<?php $_SERVER eller lign.

Nogen der ved hvad jeg mener?



8 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udPHP kode 


Så vises den samme side du logger ind på.




du kan bruge REQUEST_URI eller PHP_SELF via $_SERVER

du kunne lave et hidden felt med der hvor du ønsker at gå hen efter

Fold kodeboks ind/udHTML kode 

Fold kodeboks ind/udPHP kode 




Eventuel ligge en get værdi på dit link når du loggerind

$basename = basename($_SERVER['REQUEST_URI']);
<a href="logind.php?url=<?php echo $basename; ?>" >logind</a>


På logind siden

<?php header('location: ' . $_GET['url']); ?>

Tjek lige koden igennem det er nemlig skrevet fra iPhone :)



Fold kodeboks ind/udPHP kode 


Så vises den samme side du logger ind på.


det svare da bare til; ikke at angive en action?
du poster til den side formen er på, hvilken vil betyde at hvis du opdatere siden spøger din browser om du vil gensende formen.

så du skal lige tilføje "login.php?goto=" eller sådan før $_SERVER[...]

$kode = '<form action="login.php?goto=' . $_SERVER["PHP_SELF"] . '" method="post">';



Kenneth > Jeg ved ikke om det svare til ikke at angive en action eller om det valid kode ikke er angive en action ved post.

Og ja nogen browsere spørger om man vil gensende formularen men det troede jeg altid den ville gøre når man lige har afsendt en post. Der sker måske ikke med det kode som du skriver ?

Så urlen ville blive login.php?goto=login.php ?



alså uanset om man poster til samme side eller ej, hvis du ikke sender bruger hen til en side efter login, vil det være muligt at gensende.

så:

Fold kodeboks ind/udPHP kode 




Aha så lærte jeg da også noget der.

Det har irriterede mig lidt at jeg ikke kan opdate siden efter en post uden at gensende men jeg her vel bare fundet mig i det og gået op i adresse felte for at besøge siden igen uden at gensende formularen.

Ku være jeg skulle lave min kode om til at bruge header().

Men hvis man bruger header() så kan man jo ikke bruge $_POST data på den siden man viderestiller til.



Indlæg senest redigeret d. 27.06.2012 22:55 af Bruger #13010
Header(location) bør kun anses som en mulig løsning så længe post-data ikke skal benyttes som output



t