Avatar billede fcjohn Nybegynder
24. september 2006 - 17:10 Der er 11 kommentarer og
1 løsning

data fra en side til anden

Hejsa

Jeg er ved at genopfriske PHP, det er sgu længe siden...

Hvis jeg skal have mine data tilgængelige fra den næste side, hvordan skal den url sender bruger som action så se ud, altså hvordan får jeg smidt de indtastede data ind i min action?

<form method="post" action="/index.php?page=8&herviljeggernehaveminedatamed">

Navn:<br><input name="navn" type="text" size="20" maxlength="50"><br>

Email:<br><input name="email" type="text" size="20" maxlength="100"><br>

Besked:<br>
<textarea name="content" cols="20" rows="10"></textarea><br><br>

<input type="submit" value="Send">

</form>
Avatar billede webudvikleren Nybegynder
24. september 2006 - 17:16 #1
Du kan bare kalde det, sådan her:

Side.php:

<form method="post" action="?page=8&data=herviljeggernehaveminedatamed">

Navn:<br><input name="navn" type="text" size="20" maxlength="50"><br>

Email:<br><input name="email" type="text" size="20" maxlength="100"><br>

Besked:<br>
<textarea name="content" cols="20" rows="10"></textarea><br><br>

<input type="submit" value="Send">

</form>

<?php
if ( isset ( $_GET['data'] ) )
{
    echo "Dataen fra &URL: " . $_GET['data'];
    echo "<br /><b>POST:</b><br />";
    print_r($_POST);
}
?>
Avatar billede webudvikleren Nybegynder
24. september 2006 - 17:17 #2
Hvis du vil lave felterne som $_GET, så prøv at lav method="post" til method="get"
Avatar billede fcjohn Nybegynder
24. september 2006 - 17:26 #3
Hvordan skal jeg så skrive i action? Skal jeg skrive: action="?page=8&name=navn&email=email? Og vil jeg så kunne hente dette på den næste side med $_GET['name'] og $_GET['email'] osv.?
Avatar billede webudvikleren Nybegynder
24. september 2006 - 17:30 #4
Nej, du skal bare have dette:
<form method="post" action="/index.php?page=8">

så kan du hente dine outputs ved:

$_GET['content'];
$_GET['email'];
$_GET['navn'];

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

Ved dette eksempel jeg lavede, fik jeg følgende i adressebaren:
/nyside.php?navn=web&mail=web&alder=web

Kodesnap:


<form action="nyside.php" method="get">

Dit navn: <input type="text" name="navn" />
Din mail: <input type="text" name="mail" />
Din alder: <input type="text" name="alder" />

<input type="submit" value="Send GET" />
</form>
Avatar billede webudvikleren Nybegynder
24. september 2006 - 17:32 #5
Hov - forkert svar.. Mener selvfølgelig du skal rette:
<form method="post" action="/index.php?page=8">

til

<form method="get" action="/index.php?page=8">

Undskyld :-)
Avatar billede fcjohn Nybegynder
24. september 2006 - 17:37 #6
Det er okay:o)

På den efterfølgende side kanjeg godt fange det du foreslog, men hvorfor i alverden virker dette så ikke?

if($_GET['page']==8) {
           
  print("Hep:" . $_GET['$name'] . $_GET['email'] . $_GET['content']);
       
  /*include 'files/functions.php';
   
  updateguestbook($_GET['name'], $_GET['email'], $_GET['content']); */
}


Når jeg taster noget ind og method på siden før er post, skrives bare "Hep:" ud, men ændrer jeg det til get, sker der ikke noget.
Avatar billede webudvikleren Nybegynder
24. september 2006 - 17:40 #7
<form action="/index.php?page=8" method="get">

Navn:<br><input name="navn" type="text" size="20" maxlength="50"><br>

Email:<br><input name="email" type="text" size="20" maxlength="100"><br>

Besked:<br>
<textarea name="content" cols="20" rows="10"></textarea><br><br>

<input type="submit" value="Send">

</form>

--- også:

if($_GET['page']==8) {
         
  echo "Hep:" . $_GET['name'] . $_GET['email'] . $_GET['content'];
     
  /*include 'files/functions.php';
 
  updateguestbook($_GET['name'], $_GET['email'], $_GET['content']); */
}
Avatar billede fcjohn Nybegynder
24. september 2006 - 18:13 #8
Hmm, jeg kan ikke få det til at fungere. Min første side ser sådan her ud:

<form action="/index.php?page=8" method="get">

Navn:<br><input name="navn" type="text" size="20" maxlength="50"><br>

Email:<br><input name="email" type="text" size="20" maxlength="100"><br>

Besked:<br>
<textarea name="content" cols="20" rows="10"></textarea><br><br>

<input type="submit" value="Send">

</form>

Den anden sådan her:

<?php


   
    if($_GET['page']==1) {echo("Dette er Jespers indholdsside.");}
   
    if($_GET['page']==2) {echo("Dette er Sillas indholdsside.");}
   
    if($_GET['page']==3) include 'files/rasmus.php';
       
    if($_GET['page']==4) include 'files/ella.php';

    if($_GET['page']==5) {echo("Dette er BK Razzellas indholdsside.");}
   
    if($_GET['page']==6) {echo("Dette er bare en side.");}
   
    if($_GET['page']==7) include 'files/guestbook.php';
   
    if($_GET['page']==8) {echo ($_GET['navn']);}
           
        /*include 'files/functions.php';   
       
        updateguestbook($_GET['name'], $_GET['email'], $_GET['content']); */

?>


Men der sker altså ikke noget.
Avatar billede webudvikleren Nybegynder
24. september 2006 - 18:21 #9
Hvorfor bruger du egenlig ikke bare $_POST ?

<form action="/index.php?page=8" method="post">

Navn:<br><input name="navn" type="text" size="20" maxlength="50"><br>

Email:<br><input name="email" type="text" size="20" maxlength="100"><br>

Besked:<br>
<textarea name="content" cols="20" rows="10"></textarea><br><br>

<input type="submit" value="Send">

</form>

--- også:

if($_GET['page']==8) {
       
  echo "Hep:" . $_POST['name'] . $_POST['email'] . $_POST['content'];
   
  /*include 'files/functions.php';

  updateguestbook($_GET['name'], $_GET['email'], $_GET['content']); */
}
Avatar billede fcjohn Nybegynder
24. september 2006 - 18:28 #10
Det synes jeg nu at jeg havde prøvet, men det er nok bare en af de dage. jeg fandt i øvrigt ud af jeg kunne putte en hidden input ind så jeg fik 'page=8' med når jeg brugte begge.

Send et svar og så får du point, tak for hjælpen:o)
Avatar billede webudvikleren Nybegynder
24. september 2006 - 18:29 #11
Okay, fint - det var så lidt.
Avatar billede fcjohn Nybegynder
24. september 2006 - 18:33 #12
Jeg mente ikke 'begge' men 'get'...så giver det vel lidt mere mening.
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