Avatar billede fri0z Nybegynder
14. oktober 2007 - 20:28 Der er 15 kommentarer og
1 løsning

kategorisk database insert

Hej eksperter..

Jeg skal lige bruge et puf i den rigtige retning..

Jeg skal lave en simpel side hvor der skal smækkes noget i en database.

Lad os sige jeg vil registrere et møbel.
Jeg trykker "møbel"->
Siden opdatere og jeg kan vælge hvilket møbel.
Jeg vælger "skrivebord#->
Siden opdatere og jeg kan vælge "producent". osv..

tilsidst trykker man GEM, siden udfører sql strengen og smækker det hele ind i databasen.

Jeg har siddet og roddet en række sider hvor værdierne bliver overført via url (index.php?mb=$mb) osv..

men er blevet enig med mig selv om at det må kunne gøres meget mere simpelt..

nogen der kan give et puf?

På forhånd tak
Avatar billede gf Nybegynder
14. oktober 2007 - 20:36 #1
Hej

Jeg vil anbefale dig at anvende sessions.
<?php
session_start();
$_SESSION["moelbel"] = "Sofa";
$_SESSION["farve"] = "Hvid";;
?>

Husk  session start()  på de sider hvor du vil bruge session variablerne.

Mvh gf
Avatar billede gf Nybegynder
14. oktober 2007 - 20:37 #2
ups, glem det sidste semikolon efter hvid
Avatar billede fri0z Nybegynder
14. oktober 2007 - 20:44 #3
nårh ja :) mange tak

smid et svar
Avatar billede fri0z Nybegynder
14. oktober 2007 - 21:06 #4
lige et spørgsmål :)

sidens top:
<?php
session_start();
$_SESSION["bygning"] = "$bygning";
$_SESSION["etage"] = "$etage";
$_SESSION["rumnr"] = "$rumnr";
$_SESSION["longitude"] = "$longitude";
$_SESSION["latitude"] = "$latitude";
$_SESSION["furn"] = "$furn";
?>

så gemmer den vel værdierne i de sessions?

hvordan henter jeg dem frem på næste side?

Variablerne henter værdierne fra en form:

$bygning = $_POST["bygning"];
    $etage = $_POST["etage"];
    $rumnr = $_POST["rumnr"];
    $longitude = $_POST["longitude"];
    $latitude = $_POST["latitude"];
    $furn = $_POST["furn"];

forkert? :D
Avatar billede gf Nybegynder
14. oktober 2007 - 21:27 #5
Hej

Hvis du er på den side hvor der postes til kan du gøre:

<?php
session_start();
$_SESSION["bygning"] = $_POST["$bygning"]; //osv med de andre variabler

?>

På alle andre sider kan du så bruge variablerne

<?php
session_start();
echo $_SESSION["bygning"];
// eller du kan indsætte dem i en DB
?>

Mvh gf
Avatar billede dcheng Novice
15. oktober 2007 - 10:19 #6
husk session_start(); SKAL være i starten af alle php sider...
Avatar billede fri0z Nybegynder
16. oktober 2007 - 18:01 #7
Ja den er jeg med på.

Men jeg har en form med en submit-knap

så $_SESSION["bygning"] = $_POST["$bygning"]; - burde vel fange mit input felt "bygning" med den indtaste værdi.

Men på den næste side kan jeg ikke echo $bygning
Avatar billede fri0z Nybegynder
16. oktober 2007 - 18:02 #8
...selvom

<?php
session_start();
echo $_SESSION["bygning"];
?>
står i toppen
Avatar billede gf Nybegynder
16. oktober 2007 - 18:15 #9
Hej

Det skal være:
$_SESSION["bygning"] = $_POST["bygning"]; altså uden $ tegnet foran bygning

mvh gf
Avatar billede fri0z Nybegynder
16. oktober 2007 - 20:15 #10
Hej gf, kan være det mig der er dum. men inden jeg stirrer mig helt blind på det kan du så måske se om jeg har en fejl?

Side 1:
<?php session_start();
$_SESSION["bygning"] = $_POST["bygning"];
$_SESSION["etage"] = $_POST["etage"];
$_SESSION["rumnr"] = $_POST["rumnr"];
$_SESSION["longitude"] = $_POST["longitude"];
$_SESSION["latitude"] = $_POST["latitude"];
$_SESSION["furn"] = $_POST["furn"];

?>

<form method="POST" name="form" action="benfarve.php">
            Bygning:<br /><input type="text" name="bygning"><br />
            Etage:<br /><input type="text" name="etage"><br />
            Rumnummer:<br /><input type="text" name="rumnr"><br />
            Longitude:<br /><input type="text" name="longitude"><br />
            Latitude:<br /><input type="text" name="latitude"><br />
            Furn:<br /> <select name="furn" id="furn">
          <option>1</option>
          <option>2</option>
          <option>3</option>
          <option>4</option>
          <option>5</option>
        </select><br />
        </select><input type="submit" name="submit" span class="style4" value="videre">
      </form>


side 2:
<?php session_start();
echo $_SESSION["bygning"];
echo $_SESSION["etage"];
echo $_SESSION["rumnr"];
echo $_SESSION["longitude"];
echo $_SESSION["latitude"];
echo $_SESSION["furn"];
?>

Den echoér intet på side2
Avatar billede vix-mix Nybegynder
16. oktober 2007 - 20:27 #11
<?php
if(isset($_POST['submit'])) {
session_start();
$_SESSION["bygning"] = $_POST["bygning"];
$_SESSION["etage"] = $_POST["etage"];
$_SESSION["rumnr"] = $_POST["rumnr"];
$_SESSION["longitude"] = $_POST["longitude"];
$_SESSION["latitude"] = $_POST["latitude"];
$_SESSION["furn"] = $_POST["furn"];
}
Avatar billede vix-mix Nybegynder
16. oktober 2007 - 20:36 #12
Dette virker fint ved mig.

side1.php

                          <?php
if(isset($_POST['submit'])) {
session_start();
$_SESSION['bygning'] = $_POST['bygning'];
$_SESSION['etage'] = $_POST['etage'];
$_SESSION['rumnr'] = $_POST['rumnr'];
$_SESSION['longitude'] = $_POST['longitude'];
$_SESSION['latitude'] = $_POST['latitude'];
$_SESSION['furn'] = $_POST['furn'];
}
?>

<form method="POST" name="form" action="side1.php">
            Bygning:<br /><input type="text" name="bygning"><br />
            Etage:<br /><input type="text" name="etage"><br />
            Rumnummer:<br /><input type="text" name="rumnr"><br />
            Longitude:<br /><input type="text" name="longitude"><br />
            Latitude:<br /><input type="text" name="latitude"><br />
            Furn:<br /> <select name="furn" id="furn">
          <option>1</option>
          <option>2</option>
          <option>3</option>
          <option>4</option>
          <option>5</option>
        </select><br />
        </select><input type="submit" name="submit" span class="style4" value="videre">
      </form>

side2.php

<?php
session_start();
echo $_SESSION['bygning'];
echo $_SESSION['etage'];
echo $_SESSION['rumnr'];
echo $_SESSION['longitude'];
echo $_SESSION['latitude'];
echo $_SESSION['furn'];
?>
Avatar billede gf Nybegynder
16. oktober 2007 - 20:42 #13
eller

side1.php

<form method="POST" name="form" action="side.php">
            Bygning:<br /><input type="text" name="bygning"><br />
            Etage:<br /><input type="text" name="etage"><br />
            Rumnummer:<br /><input type="text" name="rumnr"><br />
            Longitude:<br /><input type="text" name="longitude"><br />
            Latitude:<br /><input type="text" name="latitude"><br />
            Furn:<br /> <select name="furn" id="furn">
          <option>1</option>
          <option>2</option>
          <option>3</option>
          <option>4</option>
          <option>5</option>
        </select><br />
        </select><input type="submit" name="submit" span class="style4" value="videre">
      </form>


side2.php

                          <?php
if(isset($_POST['submit'])) {
session_start();
$_SESSION['bygning'] = $_POST['bygning'];
$_SESSION['etage'] = $_POST['etage'];
$_SESSION['rumnr'] = $_POST['rumnr'];
$_SESSION['longitude'] = $_POST['longitude'];
$_SESSION['latitude'] = $_POST['latitude'];
$_SESSION['furn'] = $_POST['furn'];
}
?>

side3.php

<?php
session_start();
echo $_SESSION['bygning'];
echo $_SESSION['etage'];
echo $_SESSION['rumnr'];
echo $_SESSION['longitude'];
echo $_SESSION['latitude'];
echo $_SESSION['furn'];
?>
Avatar billede gf Nybegynder
16. oktober 2007 - 20:43 #14
argh

på side 1 skal det være

<form method="POST" name="form" action="side2.php">
Avatar billede vix-mix Nybegynder
16. oktober 2007 - 20:53 #15
svar
Avatar billede dcheng Novice
16. oktober 2007 - 22:13 #16
1. Der skal nogle value="" på dine option...
          <option>1</option>

2. Smid altid session_start(); HELT op i toppen efter <?php... det kan give større vanskeligheder i større scripts

og alt det gf også skriver :)
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

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