Avatar billede playr Nybegynder
16. december 2004 - 14:38 Der er 14 kommentarer

if() spørgsmål

hvad er der galt med denne:

if($navn) {
mysql_query("INSERT INTO info (navn) VALUES ('$navn')");
}
elseif($adresse) {
mysql_query("INSERT INTO info (adresse) VALUES ('$adresse')");
}
elseif($navn && $adresse) {
mysql_query("INSERT INTO info (navn, adresse) VALUES ('$navn','$adresse')");
}
Avatar billede haren Nybegynder
16. december 2004 - 14:39 #1
Måske:

if(isset($navn)) {
mysql_query("INSERT INTO info (navn) VALUES ('$navn')");
}
elseif(isset($adresse)) {
mysql_query("INSERT INTO info (adresse) VALUES ('$adresse')");
}
elseif(isset($navn) && isset($adresse)) {
mysql_query("INSERT INTO info (navn, adresse) VALUES ('$navn','$adresse')");
}
Avatar billede haren Nybegynder
16. december 2004 - 14:41 #2
Hvor har du variablerne fra?

Hvis adresse linjen skal det være $_GET['navn'] og hvis det fra en form skal det være $_POST['navn'] - hvis mit script ovenfra ikke virker må du gerne poste HELE din kode.
Avatar billede michael_stim Ekspert
16. december 2004 - 14:43 #3
Svärt at vide når man ikke ser mere, men:
if(isset($_post['$navn'])) {
mysql_query("INSERT INTO info (navn) VALUES ('$navn')");
}
elseif(isset($_post['$adresse'])) {
mysql_query("INSERT INTO info (adresse) VALUES ('$adresse')");
}
elseif(isset($_post['$navn']) && isset($_post['$adresse'])) {
mysql_query("INSERT INTO info (navn, adresse) VALUES ('$navn','$adresse')");
}
Avatar billede michael_stim Ekspert
16. december 2004 - 14:44 #4
Hov, glem ikke $_post på dine variabler også.
Avatar billede haren Nybegynder
16. december 2004 - 14:47 #5
Øhh - har jeg ikke lige skrevet det samme?
Avatar billede michael_stim Ekspert
16. december 2004 - 14:48 #6
Nej ;o)
Avatar billede mat Nybegynder
16. december 2004 - 14:53 #7
Hvordan kommer i nogensinde ned den sidste elseif? Hvis isset(navn) er sand, afbrydes betingelsen, hvis sand er falsk men isset(adresse) er sand afbrydes betingelsen der, hvis de begge er sande har vi scenario et, hvor betingelsen blev afbrudt fordi isset(navn) var sand....eller hvad?
Avatar billede mat Nybegynder
16. december 2004 - 14:54 #8
"hvis sand er falsk men isset(adresse).." - flot, der skulle naturligvis have stået "hvis den er falsk men isset(adresse).."
Avatar billede michael_stim Ekspert
16. december 2004 - 14:58 #9
Tänkte jeg ikke på ;o)
if(isset($_post['$navn']) && isset($_post['$adresse'])) {
mysql_query("INSERT INTO info (navn, adresse) VALUES ('$navn','$adresse')");
}
elseif...
Avatar billede hmortensen Nybegynder
16. december 2004 - 15:13 #10
Nu har jeg ikke kigget det hele igennem, men $_post skal rettes til $_POST hvis det nogensinde skal virke
Avatar billede playr Nybegynder
16. december 2004 - 16:06 #11
elseif(isset($navn) && isset($adresse)) {

Hmm det virker ik...

og nej skal ik bruge $_POST for jeg bruger:
extract($_POST);
extract($_GET);
Avatar billede haren Nybegynder
16. december 2004 - 16:15 #12
if(isset($navn) && isset($adresse)) {
mysql_query("INSERT INTO info (navn, adresse) VALUES ('$navn','$adresse')");
}
elseif(isset($navn)) {
mysql_query("INSERT INTO info (navn) VALUES ('$navn')");
}
elseif(isset($adresse)) {
mysql_query("INSERT INTO info (adresse) VALUES ('$adresse')");
}
Avatar billede hmortensen Nybegynder
16. december 2004 - 17:04 #13
Hvis værdierne kommer fra en form, vil begge dele være sandt under alle omstændigheder, da isset kun tjekker om variablen findes.

Hvis du vil tjekke om der er en værdi, kan du bruge empty()
Avatar billede haren Nybegynder
17. december 2004 - 07:08 #14
Ja - du har ret, jeg plejer at bruge POST direkte..
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