Avatar billede krk Nybegynder
22. november 2005 - 13:17 Der er 18 kommentarer og
2 løsninger

header location

Hej
Jeg kan ikke få min header til at virke.
Jeg har en index.php som includere markede.php.
Formularen er på markede.php siden og jeg vil gerne have at efter oplysningerne fra formularen bliver sendt til databasen så genindlæses markede.php siden.
Kan det lade sig gøre

<?php

if($send){
    $query1    = "INSERT INTO test_markede(
    markede_id,
    markede_stk,
    markede_produkt,
    markede_maal,
    markede_ny,
    markede_pris)
   
    VALUES
    ('NULL','$markede_stk','$markede_produkt','$markede_maal','$markede_ny','$markede_pris');";
   
    $result        = mysql_db_query ($database, $query1, $link );
    header("location: hvad skriver jeg her/?page=markede");
}else{
    print"
    <form  method='post' action='?page=markede'>
      <table width='40%'  border='1'>
          <tr><td colspan='3'><b>Indsæt et nyt produkt</b></td></tr>
        <tr>
            <td>Antal</td>
            <td><input type='text' name='markede_stk'></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>Produkt</td>
            <td><input type='text' name='markede_produkt'></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>Mål</td>
            <td><input type='text' name='markede_maal'></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>Ny/brugt</td>
            <td><input type='text' name='markede_ny'></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>Pris</td>
            <td><input type='text' name='markede_pris'></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td valign='top' colspan='3'><input type='submit' name='send' value='send'>
            </td>
        </tr>
      </table>
    </form><br>";

}
?>
Avatar billede hmortensen Nybegynder
22. november 2005 - 13:35 #1
Jeg ville nok sende dataen til en helt anden side, som så indsætter data og sender brugeren tilbage til /?markede
Avatar billede krk Nybegynder
22. november 2005 - 13:37 #2
hvorfor vil du gøre det på den måde ??
Avatar billede webstuff Nybegynder
22. november 2005 - 13:38 #3
hvis du nu laver en side f.eks "gem.php" som kun sætter informationerne ind i db'en..

form:
<form action=gem.php>
form her
</form>

gem.php:
kontakt db
sæt ind i db
header("location: form.html");

Ellers kom tilbage :-D
Avatar billede webstuff Nybegynder
22. november 2005 - 13:38 #4
form = markerede.php :-D
Avatar billede hmortensen Nybegynder
22. november 2005 - 13:41 #5
Ellers får du problemer med at der allerede er afsendt data til outputbufferen fra din index side.
Avatar billede krk Nybegynder
22. november 2005 - 13:43 #6
Det er det samme som hmortensen mener, ikk?
Vil det sige at hvis jeg gør det på denne måde så opdagere brugeren ikke at der er oprettet 2 sider.
jeg prøver lige, så finder jeg vel ud af det. jeg vender tilbage senere :-)
Avatar billede webstuff Nybegynder
22. november 2005 - 13:44 #7
nej han kommer ikke til at se skyggen af gem.php
Avatar billede krk Nybegynder
22. november 2005 - 14:00 #8
nu ser min gem.php sådan ud, men det virker ikke. Dataen fra formularen bliver godt nok gemt i databasen men jeg kommer ikke tilbage til markede.php. Kan det have noget at gøre med det hmorten skriver at jeg allerede har afsendt data til outputbufferen fra min index side ?
Avatar billede krk Nybegynder
22. november 2005 - 14:01 #9
glemte lige koden ;-)

<?php
    $query1    = "INSERT INTO test_markede(
    markede_id,
    markede_stk,
    markede_produkt,
    markede_maal,
    markede_ny,
    markede_pris)
   
    VALUES
    ('NULL','$markede_stk','$markede_produkt','$markede_maal','$markede_ny','$markede_pris');";
   
    $result        = mysql_db_query ($database, $query1, $link );
    header("location:markede.php");
?>
Avatar billede webstuff Nybegynder
22. november 2005 - 14:01 #10
du skal sætte det her ind efter dataene er indsat i databasen
header("location: markerede.php");
Avatar billede webstuff Nybegynder
22. november 2005 - 14:02 #11
prøv ats kifte det her:
    header("location:markede.php");
ud med det her
    header("location: markede.php");
Avatar billede krk Nybegynder
22. november 2005 - 14:03 #12
undskyld, jeg kan altså ikke se forskellen
Avatar billede krk Nybegynder
22. november 2005 - 14:06 #13
jeg har set forskellen og det virker stadig ikke :-(
Avatar billede hmortensen Nybegynder
22. november 2005 - 14:12 #14
Tjek at filen hedder det, hvis der er stavefejl i filnavnet, vil den blot blive på siden.
Avatar billede webstuff Nybegynder
22. november 2005 - 14:15 #15
<?php
CONNECT TIL DB

$id = $_POST["markede_id"];
$stk = $_POST["markede_stk"];
$produkt = $_POST["markede_produkt"];
$maal = $_POST["markede_maal"];
$ny = $_POST["markede_ny"];
$pris = $_POST["markede_pris"];

//indsætter i db
mysql_query("insert into TABELNAVN (id, stk, produkt, maal, ny, pris)values('$id', '$stk', '$produkt', '$maal', '$ny', '$pris')");
header("location: markerede.php");
}
?>

linjen:
(id, stk, produkt, maal, ny, pris)
skal skiftes ud med de felter du har i din db :-D
Avatar billede webstuff Nybegynder
22. november 2005 - 14:16 #16
TABELNAVN = test_markede :-)
Avatar billede krk Nybegynder
22. november 2005 - 14:27 #17
nu virker det. Det var fordi - som hmortensen sagde - det hele foregik inde i index.php.
lidt tilrettelser og en selvstændig gem.php så går det fint :-)
I må dele point
Avatar billede webstuff Nybegynder
22. november 2005 - 14:29 #18
godt du fik det til at virke :-D
Avatar billede hmortensen Nybegynder
22. november 2005 - 14:38 #19
:)
Avatar billede krk Nybegynder
22. november 2005 - 14:56 #20
tak for hjælpen
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