Avatar billede mr.t.man Nybegynder
09. januar 2004 - 17:00 Der er 11 kommentarer og
1 løsning

PHP: Go-to funktion

Hej!
Jeg har denne kode:
----------
if (empty($_POST["navn"])) { echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"navn\"!</font>";
} elseif (empty($_POST["email"])) { echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"email\"!</font>";
} elseif (empty($_POST["overskrift"])) { echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"overskrift\"!</font>";
} elseif (empty($_POST["besked"])) { echo "<font face=verdana size=1 color=#FF0000>Du har ikke indtastet nogen besked!</font>";
} elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $_POST["email"])) { echo "<font face=verdana size=1 color=#FF0000>Den indtastede mail er ikke gyldig!</font>";
    } else {
        $ip = getenv('REMOTE_ADDR');
        $_POST["besked"] = nl2br($_POST["besked"]);
        $dato_array = getdate();
        $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
        mysql_query("INSERT INTO gbog (navn, email, overskrift, dato, besked, ip, tid) VALUES ('$_POST[navn]', '$_POST[email]', '$_POST[overskrift]', '$dato', '$_POST[besked]', '$ip',now())");
    }
}
----------
Jeg vil gerne have indsat en funktion, der gør, at den går til en bestemt url, efter denne kode er udført.. kan det lade sig gøre?

/mr.t.man
Avatar billede ahv Nybegynder
09. januar 2004 - 17:00 #1
header("location: side.php");
Avatar billede ahv Nybegynder
09. januar 2004 - 17:01 #2
Men husk der må ikke komme noget output til browseren før denne header, altså en echo, HTML etc.
Avatar billede mr.t.man Nybegynder
09. januar 2004 - 17:07 #3
den må jo kun gå til side.php, hvis kriterierne bliver opfyldt og når den mysql_query er udført... hvordan gør man det?
Avatar billede ahv Nybegynder
09. januar 2004 - 17:26 #4
} else {
        $ip = getenv('REMOTE_ADDR');
        $_POST["besked"] = nl2br($_POST["besked"]);
        $dato_array = getdate();
        $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
        mysql_query("INSERT INTO gbog (navn, email, overskrift, dato, besked, ip, tid) VALUES ('$_POST[navn]', '$_POST[email]', '$_POST[overskrift]', '$dato', '$_POST[besked]', '$ip',now())");
header("location: side.php");
    }
Avatar billede mr.t.man Nybegynder
09. januar 2004 - 17:31 #5
..den har jeg allerede prøvet:

Warning: Cannot add header information - headers already sent by (output started at /customers/httpd.www/gbog2/gbog.php:9) in /customers/httpd.www/gbog2/gbog.php on line 26
Avatar billede ahv Nybegynder
09. januar 2004 - 17:39 #6
Du har output før din header, en echo eller HTML måske.
Avatar billede mr.t.man Nybegynder
09. januar 2004 - 17:53 #7
ikke andet end den kode, jeg allerede har skrevet...og der er jo echo'er i...
Avatar billede ahv Nybegynder
09. januar 2004 - 18:04 #8
Burde virke;

<?php
if (empty($_POST["navn"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"navn\"!</font>";
} elseif (empty($_POST["email"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"email\"!</font>";
} elseif (empty($_POST["overskrift"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"overskrift\"!</font>";
} elseif (empty($_POST["besked"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke indtastet nogen besked!</font>";
} elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $_POST["email"])) {         echo "<font face=verdana size=1 color=#FF0000>Den indtastede mail er ikke gyldig!</font>";
} else {
    $ip = $_SERVER["REMOTE_ADDR"];
    $_POST["besked"] = nl2br($_POST["besked"]);
    $dato_array = getdate();
    $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
    mysql_query("INSERT INTO gbog (navn, email, overskrift, dato, besked, ip, tid) VALUES ('$_POST[navn]', '$_POST[email]', '$_POST[overskrift]', '$dato', '$_POST[besked]', '$ip',now())");
    header("location: side.php");
}
?>
Avatar billede mr.t.man Nybegynder
09. januar 2004 - 18:14 #9
nej, det virker altså ikke... samme problem..

her er hele koden i dokumentet:
----------
<html>
<head>
    <title>titel</title>
</head>
<body link="#0000FF" alink="#0000FF" vlink="#0000FF">
<?
$conn = mysql_connect("localhost", "XXXXXX", "XXXXXX");
mysql_select_db("XXXXXX");
if( isset( $_POST["skriv"] ) ){
   
if (empty($_POST["navn"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"navn\"!</font>";
} elseif (empty($_POST["email"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"email\"!</font>";
} elseif (empty($_POST["overskrift"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"overskrift\"!</font>";
} elseif (empty($_POST["besked"])) {
    echo "<font face=verdana size=1 color=#FF0000>Du har ikke indtastet nogen besked!</font>";
} elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $_POST["email"])) {        echo "<font face=verdana size=1 color=#FF0000>Den indtastede mail er ikke gyldig!</font>";
} else {
    $ip = $_SERVER["REMOTE_ADDR"];
    $_POST["besked"] = nl2br($_POST["besked"]);
    $dato_array = getdate();
    $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
    mysql_query("INSERT INTO gbog (navn, email, overskrift, dato, besked, ip, tid) VALUES ('$_POST[navn]', '$_POST[email]', '$_POST[overskrift]', '$dato', '$_POST[besked]', '$ip',now())");
    header("location: side.php");
}

}
mysql_close($conn)
?>
<br><br>
</body>
</html>
----------
Avatar billede ahv Nybegynder
09. januar 2004 - 18:15 #10
Du har jo HTML før den header, som jeg sagde der ikke måtte være.
Avatar billede ahv Nybegynder
09. januar 2004 - 18:17 #11
<?php
$conn = mysql_connect("localhost", "XXXXXX", "XXXXXX");
mysql_select_db("XXXXXX");
if( isset( $_POST["skriv"] ) ){
    if (empty($_POST["navn"])) {
        $str = "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"navn\"!</font>";
    } elseif (empty($_POST["email"])) {
        $str = "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"email\"!</font>";
    } elseif (empty($_POST["overskrift"])) {
        $str = "<font face=verdana size=1 color=#FF0000>Du har ikke udfyldt feltet \"overskrift\"!</font>";
    } elseif (empty($_POST["besked"])) {
        $str = "<font face=verdana size=1 color=#FF0000>Du har ikke indtastet nogen besked!</font>";
    } elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $_POST["email"])) {       
        $str = "<font face=verdana size=1 color=#FF0000>Den indtastede mail er ikke gyldig!</font>";
    } else {
        $ip = $_SERVER["REMOTE_ADDR"];
        $_POST["besked"] = nl2br($_POST["besked"]);
        $dato_array = getdate();
        $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];
        mysql_query("INSERT INTO gbog (navn, email, overskrift, dato, besked, ip, tid) VALUES ('$_POST[navn]', '$_POST[email]', '$_POST[overskrift]', '$dato', '$_POST[besked]', '$ip',now())");
        header("location: side.php");
    }
}
mysql_close($conn)
?>
<html>
<head>
    <title>titel</title>
</head>
<body link="#0000FF" alink="#0000FF" vlink="#0000FF">
<?php
echo $str;
?>
<br><br>
</body>
</html>
Avatar billede mr.t.man Nybegynder
09. januar 2004 - 18:38 #12
Tak for hjælpen... igen! ;-)
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