Avatar billede evilfish Nybegynder
28. september 2003 - 13:23 Der er 25 kommentarer og
1 løsning

Form forvirring ved opdragering af PHP version

Hej Eksperter

Jeg har installeret en IIS server med PHP og MySQL og det kører fint og glat. Under et forsøg lavede jeg en form med en submit knap hvorved PHP skulle undersøge om formen var gyldig til indsættelse i en database. Denne gyldigheds test er bygget op noget lignene dette:

if($Submit)
{
bla bla bla bla....
}

Denne form for aktivering har jeg brugt før og det virker. Men i den nye PHP version siger den pludselig at $Submit variablen ikke er givet som en NOTICE "fejl". Dette gjorde den ikke i den gamle. Hvordan skal man så lave en form gyldigheds test, når denne metode er udelukket da $Submit altid vil være unavngivet indtil der trykkes på knappen?
Avatar billede mikl-dk Nybegynder
28. september 2003 - 13:26 #1
if (isset($_POST["Submit"]))
{
//bla bla
}
Avatar billede mikl-dk Nybegynder
28. september 2003 - 13:27 #2
Avatar billede evilfish Nybegynder
28. september 2003 - 13:32 #3
Lyder fornuftigt - Afprøver i løbet af ugen, point kommer i næste wekend. (er i hæren og puteren ligger på kersernen) :)
Avatar billede schaefner Juniormester
28. september 2003 - 13:32 #4
jeg vil også anbefale dig at tjekke på noget anden end lige submit-knappen.
Avatar billede schaefner Juniormester
28. september 2003 - 13:33 #5
F.eks.:

<form method="post" action="">
<input type="hidden" name="send" value="1">
...
</form>

<?php
if (isset($_POST['send'])) {
  echo 'Der skete noget';
}
?>
Avatar billede evilfish Nybegynder
28. september 2003 - 13:35 #6
schaefer - Tror ikke jeg forstår hvor du vil hen
Avatar billede schaefner Juniormester
28. september 2003 - 13:37 #7
Hvis personen ikke trykker på knappen, men i stedet trykker enter, så vil du ikke kunne tjekker ved hjælp af submit-knappen.
Avatar billede mikl-dk Nybegynder
28. september 2003 - 13:38 #8
Enig med dig, shaefner!
Avatar billede schaefner Juniormester
28. september 2003 - 13:38 #9
tjekker = tjekke
Avatar billede evilfish Nybegynder
28. september 2003 - 13:40 #10
aaaha

Forstår bare ikke dette:
<form method="post" action="">
<input type="hidden" name="send" value="1">

Hvad er det lige det er?
Avatar billede avminarm Juniormester
28. september 2003 - 13:51 #11
<input type="hidden" name="send" value="1"> = et skjult flet i din formular, når formularen sendes vil $_POST['send'] være sat som variabel - til og med vil den være lige med 1 dvs man kunne også gøre sådan her:

<?php
if ($_POST['send'] == 1) {
  echo 'Der skete noget';
}
?>

for $_POST['send'] vil kun være lige med 1 hvis formen er sendt
Avatar billede evilfish Nybegynder
28. september 2003 - 13:52 #12
AHHHH - Det gav den mening. Smart!
Avatar billede evilfish Nybegynder
28. september 2003 - 13:56 #13
Men hvad hvis jeg har 2 knappen og der to forskelllige måder. FX: (skriver i gammel kode)

if($Submit1)
{
en ting
}

if($Submit2)
{
cola
}

Hvordan laver man den med isset koden?
Avatar billede schaefner Juniormester
28. september 2003 - 14:03 #14
avminarm >> Der vil den jo netop komme med en NOTICE fordi du ikke først tester om den er sat :)
Avatar billede schaefner Juniormester
28. september 2003 - 14:03 #15
if (isset($_POST['send'] && $_POST['send'] == 1) {
Avatar billede schaefner Juniormester
28. september 2003 - 14:03 #16
manglede lige en )
Avatar billede evilfish Nybegynder
28. september 2003 - 14:08 #17
Jeg er sku bange for jeg ikke har fattet den endnu.

Jeg har to forms med hver sin knap. Send1 og send2
For aktivere dem laver jeg en skjult felt i begge, og skrive så i php koden:
if (isset($_POST['send2'] && $_POST['send2'] == 2)
{
noget1
}
if (isset($_POST['send1'] && $_POST['send1'] == 1)
{
noget2
}

Men vil begge ikke bare starte ligemeget hvilken knap jeg trykker på?
Avatar billede evilfish Nybegynder
28. september 2003 - 14:09 #18
AHHH! - Sorry - Min fejl... Er fattet nu :D
Avatar billede evilfish Nybegynder
28. september 2003 - 14:09 #19
Nej stadig ikke fattet
Avatar billede evilfish Nybegynder
28. september 2003 - 14:36 #20
Sådan som jeg ser det, vil PHP begynder med begge forms
Avatar billede evilfish Nybegynder
28. september 2003 - 15:07 #21
nogen der kan hjælpe mig med at forstå det?
Avatar billede mikl-dk Nybegynder
28. september 2003 - 17:24 #22
if (isset($_POST[$skjultFeltIForm1))
{
  //hvis man submitter form1
}

if (isset($_POST[$skjultFeltIForm2))
{
  //hvis man submitter form2
}
Avatar billede mikl-dk Nybegynder
28. september 2003 - 17:24 #23
hov - mangler ]
Avatar billede avminarm Juniormester
29. september 2003 - 09:13 #24
schaefner>> jeg ved godt den kommer med en notice - havde lige fortrængt at sprg. gik på det med notice (Er det i øvrigt ikke slået fra i PHP.ini de fleste steder?)

evilfish>> husk deu skal have to selvstændige formularer for at kunne gøre det du vil:

<form method="post" ....>
sumbit 1 og hidden felt 1 her
</form>

<form method="post" ....>
sumbit 2 og hidden felt 2 her
</form>

og så schaefners lille kodestump:

if (isset($_POST['send2'] && $_POST['send2'] == 2))
{
noget2
}
if (isset($_POST['send1'] && $_POST['send1'] == 1))
{
noget1
}
Avatar billede evilfish Nybegynder
23. maj 2004 - 17:41 #25
tråd lukkes
Avatar billede avminarm Juniormester
24. maj 2004 - 11:08 #26
og tager points selv????
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