Men tilbage til dit problem. Her er der nemlig den hage ved det da man nemlig ikke kan skrive <? mysql-delen ?> under else (hvis man har trykket OK), da Php-afvikles fra serveren (før siden bliver vist) og vil være upåvirket af hvad javascript-delen gør (da denne køres på selve browseren (når siden er vist).
En Ide' kunne nu være at lave en side hvor du kan indsætter variablerne og har en anden side hvor du kan teste om brugeren vil sætte variablen ind eller ej. Nu ved jeg ikke helt hvordan du havde tænkt dig indsætning af variablerne skulle foregå, og løsningen på problemmet afhænger også hvor de forskellige variabler kommer fra, men jeg antager du vil have en simpel side hvor en masse confirm-bokse skal poppe op.
Side1.php:
<script type="text/javascript">
var str = "";
function insVar(name,value) {
if (confirm("Vil du indsætte variablen " + name + "?")) { str += name+"="+value+"&";}
}
insVar("foo","værdi1");
insVar("bar","værdi2");
insVar("baz","værdi3");
str = str.substring(0,str.length-1); // Fjerner det sidste &-tegn
location.href = "side2.php?"+str;
</script>
Før laves en tekst-streng ved navn str. Denne vil vi indsætte de variabler og deres værdier, som brugeren vil have med i databasen. Til dette formål laves en funktion insVar, som skal spørge om dette. insVar er en funktion som kræver at man som argumenter (det man skriver indenfor de to parenteser når man kalder funktionen, fx insVar("navn","værdi") er navn og værdi er argumenterne), skriver navnet på variablen og værdien for variablen.
Nu spørges der til om man vil indsætte variablen:
if (confirm("Vil du indsætte variablen " + name + "?"))
Hvis man her trykker OK returnerer confirm-boksen true (sandt), og nu if-sætningen blive sand, da vi ikke har sat et udråbstegn foran confirmboksen, hvilket vil sige den tester om man confirm-boksen bliver sand og ikke som før falsk).
Sætningen:
{ str += name+"="+value+"&";}
lægger nu navnet=værdien ind i strengen str (+= betyder man lægger til og +-tegnet imellem de forskellige dele er det samme som PHP's punktum, altså den adskiller teksten fra hinanden). & tegnet til sidst er krævet fordi vi skal bruge strengen str i en url.
Til sidst går vi videre til den side hvor man indsætter variablerne
location.href = "side2.php?"+str;
Hvis man nu har trykket ja ved variablen "foo" og nej ved de andre bliver stien til den nye side:
side2.php?foo=værdi2
Alt efter spørgsmålstegnet er den såkaldte search-string, og den kan PHP omfange med $_GET (eller $_REQUEST). Din side2.php side kan nu teste om man har svaret OK ved variablen foo således:
if (isset($_GET['foo']) { // nu har man trykket OK}
Da $_GET er et array (håber du ved hvad det er ellers læs
http://www.webcafe.dk/artikler/php/arrays/) kan du løbe det igennem med en løkke og indsætte variablerne én for én. På den måde behøver du ikke teste en gang til.