Avatar billede s_f Nybegynder
23. april 2006 - 23:02 Der er 18 kommentarer og
1 løsning

gem.php skal vidersendes

Jeg har en form der putter nogle værdier ind i en gem.php fil som ser således ud:

<?php

if($_POST[navn] == "") {
echo("Du skal udfylde feltet <b>Navn</b>");
exit();}

if($_POST[email] == "") {
echo("Du skal udfylde feltet <b>E-mail</b>");
exit();}

if($_POST[besked] == "") {
echo("Du skal udfylde feltet <b>Besked</b>");
exit();}

$dato = date('d/m/Y H:i:s');
$ip = $_SERVER[REMOTE_ADDR];
$navn = htmlspecialchars($_POST[navn]);
$email = htmlspecialchars($_POST[email]);
$besked = htmlspecialchars($_POST[besked]);

if(!get_magic_quotes_gpc()) {
$navn = addslashes($navn);
$email = addslashes($email);
$besked = addslashes($besked);
}

include("db_connection.php");
mysql_query("INSERT INTO gaestbog (dato, ip, navn, email, besked) VALUES ('$dato', '$ip', '$navn', '$email', '$besked')") or die(mysql_error());
echo("Tak for din besked!... Indlæser Gæstenogen\n");
?>

Altså, når man har skrevet en besked for man denne besked fra serveren: Tak for din besked!... Indlæser Gæstenogen og så skal den automatisk gå videre til den adresse hvor gæstebogen kan læse på..

Hvilken funktion kan bruges til det?
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:04 #1
header("Location: gaestebog.php");  //eller hvor den nu ligger
Avatar billede s_f Nybegynder
23. april 2006 - 23:07 #2
Tak for din besked!... Indlæser Gæstenogen
Warning: Cannot modify header information - headers already sent by (output started at /var/www/hotels/.dk/peterskunst/html/gem.php:2) in /var/www/hotels/.dk/peterskunst/html/gem.php on line 31

--------------


<?php

if($_POST[navn] == "") {
echo("Du skal udfylde feltet <b>Navn</b>");
exit();}

if($_POST[email] == "") {
echo("Du skal udfylde feltet <b>E-mail</b>");
exit();}

if($_POST[besked] == "") {
echo("Du skal udfylde feltet <b>Besked</b>");
exit();}

$dato = date('d/m/Y H:i:s');
$ip = $_SERVER[REMOTE_ADDR];
$navn = htmlspecialchars($_POST[navn]);
$email = htmlspecialchars($_POST[email]);
$besked = htmlspecialchars($_POST[besked]);

if(!get_magic_quotes_gpc()) {
$navn = addslashes($navn);
$email = addslashes($email);
$besked = addslashes($besked);
}

include("db_connection.php");
mysql_query("INSERT INTO gaestbog (dato, ip, navn, email, besked) VALUES ('$dato', '$ip', '$navn', '$email', '$besked')") or die(mysql_error());
echo("Tak for din besked!... Indlæser Gæstenogen\n");
header("http://www.peterskunst.dk?page=gbog");
?>
Avatar billede s_f Nybegynder
23. april 2006 - 23:07 #3
dont work :(
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:09 #4
1) Skriv nu den header som jeg viser dig
2) Du skal ikke have sendt noget tilbage til browseren, hverken html, tomme linier, mellemrum før du bruger den.
3) Selvfølgelig virker det ;)
Avatar billede Slettet bruger
23. april 2006 - 23:10 #5
Det er fordi du har en echo før headeren:
echo("Tak for din besked!... Indlæser Gæstenogen\n");
Avatar billede s_f Nybegynder
23. april 2006 - 23:11 #6
Skal jeg bare smide header("http://www.peterskunst.dk?page=gbog"); lige efter <?php starter?
Avatar billede Slettet bruger
23. april 2006 - 23:12 #7
Nej, sådan her:

<?php

if($_POST[navn] == "") {
echo("Du skal udfylde feltet <b>Navn</b>");
exit();}

if($_POST[email] == "") {
echo("Du skal udfylde feltet <b>E-mail</b>");
exit();}

if($_POST[besked] == "") {
echo("Du skal udfylde feltet <b>Besked</b>");
exit();}

$dato = date('d/m/Y H:i:s');
$ip = $_SERVER[REMOTE_ADDR];
$navn = htmlspecialchars($_POST[navn]);
$email = htmlspecialchars($_POST[email]);
$besked = htmlspecialchars($_POST[besked]);

if(!get_magic_quotes_gpc()) {
$navn = addslashes($navn);
$email = addslashes($email);
$besked = addslashes($besked);
}

include("db_connection.php");
mysql_query("INSERT INTO gaestbog (dato, ip, navn, email, besked) VALUES ('$dato', '$ip', '$navn', '$email', '$besked')") or die(mysql_error());
header("http://www.peterskunst.dk?page=gbog");
?>
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:13 #8
Skriv den nu som vist 23:04:05
Den må gerne stå hvor den står. Ingen grund til at skrive noget ud, som brugeren alligevel ikke ser.
Avatar billede s_f Nybegynder
23. april 2006 - 23:14 #9
Okay, ville ellers gerne have det skrevet ud.. Men prøver lige
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:16 #10
Det brugeren skal se, kan du jo skrive på gæstebogssiden.
Avatar billede s_f Nybegynder
23. april 2006 - 23:16 #11
min kode nu:

<?php

if($_POST[navn] == "") {
echo("Du skal udfylde feltet <b>Navn</b>");
exit();}

if($_POST[email] == "") {
echo("Du skal udfylde feltet <b>E-mail</b>");
exit();}

if($_POST[besked] == "") {
echo("Du skal udfylde feltet <b>Besked</b>");
exit();}

$dato = date('d/m/Y H:i:s');
$ip = $_SERVER[REMOTE_ADDR];
$navn = htmlspecialchars($_POST[navn]);
$email = htmlspecialchars($_POST[email]);
$besked = htmlspecialchars($_POST[besked]);

if(!get_magic_quotes_gpc()) {
$navn = addslashes($navn);
$email = addslashes($email);
$besked = addslashes($besked);
}

include("db_connection.php");
mysql_query("INSERT INTO gaestbog (dato, ip, navn, email, besked) VALUES ('$dato', '$ip', '$navn', '$email', '$besked')") or die(mysql_error());
//echo("Tak for din besked!... Indlæser Gæstenogen\n");
header("Location: ?page=gbog");
?>

kommer med denne fejl:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/hotels/.dk/peterskunst/html/gem.php:2) in /var/www/hotels/.dk/peterskunst/html/gem.php on line 31
..

Undskyld hvis jeg har overset noget.
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:18 #12
Ingenting før <?php
Avatar billede s_f Nybegynder
23. april 2006 - 23:19 #13
Nej der er intet foran ...
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:25 #14
Jeg kan se en tom linie før din <?php
Avatar billede s_f Nybegynder
23. april 2006 - 23:30 #15
Ja okay, det havde jeg ikke tænkt på :/ Er fjernet nu..

Men udfylder man formen nu, når linien header("Location: ?page=gbog"); er tilføjet tror den ikke man har udfyldet feldtet navn. Hvordan kan det have indvirkning på den variabel?
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:32 #16
Fordi du skal tilbage til den rigtige side:  header("Location: /?page=gbog");
Avatar billede s_f Nybegynder
23. april 2006 - 23:35 #17
Ja, så er den i vinkel. Mange tak!

Smid svar.
Avatar billede erikjacobsen Ekspert
23. april 2006 - 23:37 #18
Jeg samler slet ikke på point, tak.
Avatar billede s_f Nybegynder
23. april 2006 - 23:39 #19
OK
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