03. juli 2003 - 12:42Der er
9 kommentarer og 1 løsning
PHP - Skift side
Jeg har f.eks. et forum, hvor man selvfølgelig kan skrive indlæg osv.! Jeg har lavet sådan at når indlæget er skrevet, så kører jeg en: <script>location.href='forum.php=traad=$traad';</script>
Så bliver brugeren smidt tilbage til tråden, når indlæget er indsat i databasen. Dette har jeg gjort, for at brugeren ikke bare kan trykke <opdater> og så bliver indlæget indsat igen! Det har så også virket fint, men hvis nu man trykker <tilbage> og så bliver indlæget indsat igen! Hvordan kan jeg forhindre dette? Ved at der findes en metode, eftersom det f.eks. ikke er muligt her på eksperten!
Undskyld den dårlige overskrift, men kunne ikke lige finde en passende titel!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg har nu laver en seperat fil som tester de indtastede data, og indsætter dem til databasen hvis de er korrekte! Filen hedder response.php. Min form har derfor action på response.php! Men hvad gør jeg så, hvis der er fejl i de indtastede data, og jeg fejlbeskeden skal printes på siden hvor man indtaster dataene, og ikke i response.php?
Jeg kunns selvfølgelig teste de indtastede data, før de bliver smidt over i response.php:
if (empty($_POST[text])) { echo "<LI><font color=#FF0000>Du har ikke indtastet nogen besked.</FONT><BR>"; } elseif (strlen($_POST[text]) < 10) { echo "<LI><font color=#FF0000>Din besked skal være større end 10 tegn.</FONT><BR>"; } else { $allowed = 1; }
if ($allowed == 1) { echo"<script>location.href='response.php?action=gb&userto=$_GET[user]&text=$_POST[text]';</script>"; }
Men jeg synes så det virker lidt åndsvagt at sende en stor varianel ($_POST[text]) via GET!
Bruger selv sessions til at finde ud af om en fejl er der, samt til at sende tilbage. D.v.s. hvis du bruger en side til visning af de forskellige indlæg, så kan du bruge f.eks. $_SESSION["back"] = $_SERVER["REQUEST_URI"];
På response.php husker du så at bruge session_start();
for derefter at bruge: header("Location:". $_SESSION["back"] ."");
Og er der fejl i brugerinput, kan du sætte en ny session
Vi kan bruge foreach når vi har et array, et simpelt eksempel på dette er -> $error[] = "hej"; $error[] = "med"; $error[] = ""; $error[] = "dig";
Hvis vi nu gerne vil have skrevet alle værdierne ud fra error arrayet kan vi bruge foreach -> foreach ($error as $name => $value) { echo $name." ".$value; }
Det vi gør her er vi siger for hver værdi i error skal du tage dens navn og dens værdi, vi vælger så at udskrive både navnet og værdien. Resultatet af denne vil blive -> 0 hej1 med2 3 dig
Synes godt om
Ny brugerNybegynder
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.