Avatar billede dmg Nybegynder
18. marts 2004 - 10:36 Der er 11 kommentarer og
1 løsning

$_POST fra textbox virker ik korrekt

Jeg har to filer.

Her har jeg klippet noget kode ud som jeg meget gerne vil ha en løsning på.

På nedenstående kode, laver jeg en form, som printer indholdet ud fra en accessdatabase.

print "<form action='oversigt_modtag.php' method='post'>";
  print "<table border=2>";
  print "<tr>";
  for ($i = 2; $i<$fieldsnums; $i++)
    {
      $fieldname = odbc_field_name($result, $i);
      print "<th>".$fieldname."</th>";
    }
  print "</tr>";

  print "<tr>";

  while(odbc_fetch_row($result))
    {
      $gaver = odbc_result($result, 3);
      $billede = odbc_result($result, 4);
      $lager = odbc_result($result, 5);

      print"<td><input type='text' name='antal' value=''>";
      print      "</td><td>$gaver</td><td>$billede</td><td>$lager</td></tr>";
    }

//  print"<td><input type='text' name='antal' value=''>";
  print "<input type='submit' name='bestil' value='Bestil'></form>";

Næste fil skal så modtage det fra textboxen:

if (isset($_POST['antal']) && $_POST['antal'] != '')
{
print "hurra";
}

else
{
print "virker ik";
}

i første fil laver jeg en textbox inde i en while løkke. Det er meningen at, man kun skal indtaste information i en af textboxende hvorefter man vil blive sendt til næste side. Men jeg skal indtaste alle felterne, ellers virker min IF sætning ikke.

Er der nogen hajer, som kender en smart workaround. Jeg er meget uerfaren med php :-)
Avatar billede mccookie Seniormester
18. marts 2004 - 10:44 #1
Nu skal jeg ikke reklamere for meget for min egen artikel ang. brug sessions.

Men det ville helt klart være værd at overveje at bruge sessions, det ville jeg gøre til en sådan opgave - Det er meget lettere....

Det er en begynder artikel: http://www.eksperten.dk/artikler/216 men jeg har selv gjort erfaringerne undervejs :)
Avatar billede mccookie Seniormester
18. marts 2004 - 10:44 #2
:o)
Avatar billede dmg Nybegynder
18. marts 2004 - 10:52 #3
jamen, jeg har altid ville lære sessions så det er helt kanon!!! Kan du evt give et eksempel der passer til min løsning. Så vil jeg nemlig sidde og læse en masse imens... Det er for cool !!
Avatar billede mccookie Seniormester
18. marts 2004 - 11:01 #4
Det er rimeligt simpelt

På din side skriver du: session_start();

Nu vi klar til at bruge session....

Så tjekker du indholdet fra din formular... hvid du vil det.....

Så sætter du værdi(erne) ind i hver deres session.....

$_SESSION['antal'] = $_POST['antal'];

Og nu kan du gøre med den session på alle dine sider hvad du nu måtte ønske :)

Du udsriver den ved: $_SESSION['antal'];

Ellers vil jeg endnu engang anbefale:
php.net
Eller føromtalte artikel :)
Avatar billede erikjacobsen Ekspert
18. marts 2004 - 11:08 #5
Du giver flere felter de samme navne. Det dur nok ikke ;)
Avatar billede dmg Nybegynder
18. marts 2004 - 11:18 #6
Ok. jeg er allerede blevet kloger. Sessions styrer!

Men faktisk løser det ik mit problem :( fordi:

print"<td><input type='text' name='antal' value=''>";

ovenstående kode, ligger inde i while løkken. dvs, at den laver den samme knap på hver række. Dvs at knappen har det samme navn. Og jeg vil lave en slags if sætning der fortæller at man kun må udfylde een af dem.

Kan jeg evt kode om, eller skal jeg lave en if avanceret ifsætning.

Jeg ville blive meget glad for ekempler :-)
Avatar billede dmg Nybegynder
18. marts 2004 - 11:19 #7
erikjacobsen:

Jamen, det er os det. Er der en anden måde???
Avatar billede mccookie Seniormester
18. marts 2004 - 11:21 #8
Hvormange linier er der og hvordan skal det fungere.... kan man evt. se scriptet fungere på nettet?
Avatar billede erikjacobsen Ekspert
18. marts 2004 - 11:23 #9
print"<td><input type='text' name='antal$i' value=''>";

og så tælle $i op hver gang - bare en skitse
Avatar billede dmg Nybegynder
18. marts 2004 - 11:25 #10
nej, men jeg kan sagtens poste hele koden. Men databasen mangler jo :-)

Hele min funktion skulle være, at man henter indholdet fra databasen, derefter bliver det listet i en række, hvor man skal kunne angive hvor mange man vil købe.

Somt sagt er jeg helt på begynder level, så jeg er åben for alle foreslag og eksempler.

Nr to fil ser således ud, ligesom jeg postee før:

if (isset($_POST['antal']) && $_POST['antal'] != '')
{
print "hurra";
}

else
{
print "virker ik";

<?php
session_start();
  $connect = odbc_connect("gavesystem", "dmg", "dmgnet");

  $query = "SELECT * FROM gaver";

  $result = odbc_exec($connect, $query);

  $fieldsnums = odbc_num_fields($result);

  print "<form action='oversigt_modtag.php' method='post'>";
  print "<table border=2>";
  print "<tr>";
  for ($i = 2; $i<$fieldsnums; $i++)
    {
      $fieldname = odbc_field_name($result, $i);
      print "<th>".$fieldname."</th>";
    }
  print "</tr>";

  print "<tr>";

  while(odbc_fetch_row($result))
    {
      $gaver = odbc_result($result, 3);
      $billede = odbc_result($result, 4);
      $lager = odbc_result($result, 5);

      print"<td><input type='text' name='antal' value=''>";
      print      "</td><td>$gaver</td><td>$billede</td><td>$lager</td></tr>";
    }

  print "<input type='submit' name='bestil' value='Bestil'></form>";
?>
Avatar billede dmg Nybegynder
18. marts 2004 - 11:27 #11
upss... kom til at poste det lidt underligt. nr 2 fil skulle have været nederst
Avatar billede dmg Nybegynder
18. marts 2004 - 11:47 #12
ok måske er det lidt svært at overskue.

her er hovede filen, som henter fra databasen og sender een videre til en anden side:

<?php
session_start();
  $connect = odbc_connect("gavesystem", "dmg", "dmgnet");

  $query = "SELECT * FROM gaver";

  $result = odbc_exec($connect, $query);

  $fieldsnums = odbc_num_fields($result);

  print "<form action='oversigt_modtag.php' method='post'>";
  print "<table border=2>";
  print "<tr>";
  for ($i = 2; $i<$fieldsnums; $i++)
    {
      $fieldname = odbc_field_name($result, $i);
      print "<th>".$fieldname."</th>";
    }
  print "</tr>";

  print "<tr>";

  while(odbc_fetch_row($result))
    {
      $gaver = odbc_result($result, 3);
      $billede = odbc_result($result, 4);
      $lager = odbc_result($result, 5);

      print"<td><input type='text' name='antal' value=''>";
      print      "</td><td>$gaver</td><td>$billede</td><td>$lager</td></tr>";
    }

  print "<input type='submit' name='bestil' value='Bestil'></form>";
?>

Nummer 2 fil ser sådan ud, som skal behandle ovenstående fil:

if (isset($_POST['antal']) && $_POST['antal'] != '')
{
print "hurra";
}

else
{
print "virker ik";
}
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