Avatar billede Henrik_Mogensen Juniormester
24. juli 2013 - 19:45 Der er 5 kommentarer og
1 løsning

Auto link

Jeg ønsker koden til et link i PHP, der automatisk sender brugeren til en anden side, efter at en if-sætning eksempel vis har checket en variabel. Derved skal det være muligt at vælge en sti i fil systemet med if sætninger. Og skiftet skal derfor ske uden klik. Header kan ikke bruges i dette tilfælde, da hver side køre 2 gange. Første gennemløb giver formular og andet gennemløb gemmer data i en database. Måske er det umuligt i PHP, da PHP jo bare returnere HTML.
Avatar billede sg93s Nybegynder
25. juli 2013 - 17:05 #1
Jeg er 99% sikker på, at der ikke findes nogen alternativer til header inden for PHP. Mig bekendt er du nød til at ændre hele din kode således, at du kan bruge header. Ellers kan du bruge denne fedtede html pladder kode til at skifte alligevel:

echo "<meta http-equiv=\"REFRESH\" CONTENT=\"1\"\; url=\"$url\">";
Avatar billede Henrik_Mogensen Juniormester
26. juli 2013 - 16:33 #2
Jeg har prøvet det du foreslår; men den viser bare den samme side som den var på. Hopper ikke til en anden side. Siden den skal åbne i stedet er oversigt.php . Er det et andet navn end REFRESH der skal stå.
Min kode er: echo "<meta http-equiv=\"REFRESH\" CONTENT=\"1\"\; url=\"oversigt.phpl\">";
Der køres først en formular der bruges til at indtaste brugernavn og kodeord. Fil navn er login.php . Når der trykkes på submit køres samme side igen; men på grund af at der er en if sætning der ser om formularen er udfyldt, gør det, at man kan gennemgå noget PHP kode der herefter checker brugernavn og kodeord inden location til en anden side. Det er denne location jeg vil udføre efter at koderne er checket. Navnet på første side er login.php . Der skal altså skiftes til oversigt.php hvis koderne er korrekte.
Hvis header kan bruges hvordan så.
Avatar billede sg93s Nybegynder
26. juli 2013 - 17:12 #3
Hvad er konceptet med de 2 sider, der kører 2 gange? Eller om ikke andet, hvad der skal ske. - For man kan jo altid bruge headers så længe, at man ikke har postet noget html. Så det handler vel bare om at sætte din "html output" i de rigtige { } brackets?
Avatar billede sg93s Nybegynder
26. juli 2013 - 17:29 #4
Beklager! Se bort fra min forrige kommentar, jeg kunne ikke se hele din post :O

Man kan lave sin formular om til ikke at sende én videre til en anden side. Jeg ved ikke hvad fordelene nogensinde skulle være ved at gøre det...hm.


<?php
session_start();

if(if(isset($_SESSION['username'])) {
    echo "Du er allerede logget ind.";
}
else {
    if(!empty($_POST['username']) && !empty($_POST['password'])) {
        #Persoen har allerede skrevet noget i begge input-bokse.
       
        $query = "SELECT * FROM users WHERE username='{$_POST['username']}'";    
        $result = mysql_query($query) or die(mysql_error());
       
        $row = mysql_fetch_array($result) or die(mysql_error());

        if($row['password'] == $_POST['password']) {
            $_SESSION['username'] = $_POST['username'];
            header("Location: oversigt.php");
        }

    }
    else {
        #if/else statements {}-brackets virker stadigvæk, selvom du rent faktisk afslutter php-kodning.
    ?>
    <form method="POST">
      Brugernavn: <input type="text" name="username"><br>
      Kodeord: <input type="password" name="password"><br>
      <input type="submit" value="Log ind">
    </form>
    <?php
    }
}
?>
Avatar billede Henrik_Mogensen Juniormester
30. juli 2013 - 17:46 #5
Hvad vil det sige at poste HTML. Dit eksempel virker nu på min hjemmeside; men når jeg bruger en forhenværende side og tilføre header("Location: oversigt.php"); virker det ikke selv om jeg har checket med echo om header er læst af serveren. Kan det ligge i meta eller doctype. Hvis ikke må det jo være fordi jeg poster HTML et sted.
Avatar billede Henrik_Mogensen Juniormester
02. august 2013 - 18:31 #6
Ved at ligge php i begyndelsen af dokumentet og flytte if sætningen til efter at have checket koderne virkede det. Tak!
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
Kurser inden for grundlæggende programmering

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



IT-JOB

Socialpædagogernes Landsforbund

Specialkonsulent til digitalisering

MAN Energy Solutions

Department Manager Edge Platform

Udviklings- og Forenklingsstyrelsen

Erfaren teamleder til årsopgørelsen

Udviklings- og Forenklingsstyrelsen

Underdirektør til gældsområdet