Avatar billede danic Nybegynder
11. april 2003 - 13:24 Der er 12 kommentarer og
2 løsninger

IF sætninger i php

Jeg har her 2 IF sætninger de virker, men problemet er at når jeg køre den føste form så køre den automatisk også den anden hvilke ikke er meningen??? betragt koden her:

$today = date("d-m-Y");

if ($BetalingModtaget_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="modtaget" value="modtaget">
<input type="submit" name="BetalingModtaget" value=" Betaling Modtaget ">
</form>

<?php
    $sql = "UPDATE Sport SET BetalingModtaget='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
    }
}
?>

<?
if ($VareAfsendt_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="afsendt" value="afsendt">
<input type="submit" name="VareAfsendt" value=" Vare Afsendt ">
</form>

<?php
    $sql = "UPDATE Sport SET AfSendtDato='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
    }
}
?>
Avatar billede exutable Nybegynder
11. april 2003 - 13:28 #1
$today = date("d-m-Y");

if ($BetalingModtaget_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="modtaget" value="modtaget">
<input type="submit" name="BetalingModtaget" value=" Betaling Modtaget ">
</form>

<?php
    $sql = "UPDATE Sport SET BetalingModtaget='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
exit;   
}
}
?>

<?
if ($VareAfsendt_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="afsendt" value="afsendt">
<input type="submit" name="VareAfsendt" value=" Vare Afsendt ">
</form>

<?php
    $sql = "UPDATE Sport SET AfSendtDato='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
exit;   
}
}
?>
Avatar billede Slettet bruger
11. april 2003 - 13:28 #2
Betragt dette:
$dosend = true;
if ($BetalingModtaget_var == "Nej")
{
    $dosend = false;
}
if ($VareAfsendt_var == "Nej" && $dosend)
{
}

eventuelt kan du bruge:
if ($BetalingModtaget_var == "Nej")
{
}
elseif ($VareAfsendt_var == "Nej")
{
}

Men jeg kender jo ikke sammenhængen mellem de to variabler!?
Avatar billede exutable Nybegynder
11. april 2003 - 13:29 #3
Nej vent det var ikke rigtigt...
Avatar billede exutable Nybegynder
11. april 2003 - 13:30 #4
$today = date("d-m-Y");

if ($BetalingModtaget_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="modtaget" value="modtaget">
<input type="submit" name="BetalingModtaget" value=" Betaling Modtaget ">
</form>

<?php
    $sql = "UPDATE Sport SET BetalingModtaget='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
exit;   
}
exit;
}
?>

<?
if ($VareAfsendt_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="afsendt" value="afsendt">
<input type="submit" name="VareAfsendt" value=" Vare Afsendt ">
</form>

<?php
    $sql = "UPDATE Sport SET AfSendtDato='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
exit;   
}
exit;
}
?>
Avatar billede exutable Nybegynder
11. april 2003 - 13:30 #5
$today = date("d-m-Y");

if ($BetalingModtaget_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="modtaget" value="modtaget">
<input type="submit" name="BetalingModtaget" value=" Betaling Modtaget ">
</form>

<?php
    $sql = "UPDATE Sport SET BetalingModtaget='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
exit;   
}
exit;
}
?>

<?
if ($VareAfsendt_var == "Nej")
{ ?>
<form method="post" action="se_order.php?OrderNr=<?=$OrderNr_var;?>">
<input type="hidden" name="afsendt" value="afsendt">
<input type="submit" name="VareAfsendt" value=" Vare Afsendt ">
</form>

<?php
    $sql = "UPDATE Sport SET AfSendtDato='$today' WHERE OrderNr='$OrderNr_var'";
    if (!mysql_query($sql))
    {
    error("Der er sket en fejl under behandlingen af deres order, prøv igen!");
exit;   
}
exit;
}
?>
Avatar billede danic Nybegynder
11. april 2003 - 13:43 #6
Regin> Der er ikke sammenhæng mellem de 2 variabler

exutable> Hvis jeg trykker reload så køres $sql ???? den skal kun kunne aktiveres når der bliver trykket på knappen
Avatar billede Slettet bruger
11. april 2003 - 13:45 #7
Well, så kan begge mine forslag sagtens bruges... men det er nok elseif du bør bruge!
Avatar billede danic Nybegynder
11. april 2003 - 14:08 #8
regin> Det virker nu med knapperne en af gangen, men nu er problemet at ved reload eller (back/forward) af siden så køre den koden under knappen selv om der ikke bliver trykket på knappen.

Betragt dette:
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>?OrderNr=<?=$OrderNr_var;?>">
Avatar billede Slettet bruger
11. april 2003 - 14:11 #9
Det er fordi back, forward og reload virker som at du sender de samme informationer til serveren igen! Og hvis de oprindelige informationer var, at du trykkede på knappen, så er det det der bliver sendt til serveren!
Avatar billede danic Nybegynder
11. april 2003 - 14:16 #10
Dvs. at jeg skal kalde en ny side f.eks. action="ny_side.php?OrderNr=<?=$OrderNr_var;?>"> hvor jeg ligger min MySQL kode og derved droppe 'PHP_SELF' ???
Avatar billede Slettet bruger
11. april 2003 - 14:20 #11
Det vil ikke løse det konkrete problem....
Du skal nok bruge noget i stil med:
header("Location: nyside.php");
For at undgå at poste dine informationer flere gange ved back, forward og reload
Avatar billede danic Nybegynder
11. april 2003 - 14:35 #12
ok
Avatar billede danic Nybegynder
11. april 2003 - 14:35 #13
Ups fik byttet om på point fordelingen - sorry
Avatar billede Slettet bruger
11. april 2003 - 14:37 #14
overlever nok!
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