27. januar 2003 - 21:18Der er
23 kommentarer og 1 løsning
Nye variabler
Hvordan er det nu man gør hvis man vil lave egne variabler ?
Tidligere kunne man blot nøjes med at skrive for eksempel if ($felt == 0). Jeg har prøvet med både if ($_GET/GLOBAL/POST/REQUEST['felt'] == 0), men får stadig fejl.
Det jeg gerne vil er at sætte et inputfelt = 0, altså if ($felt == 0), så bla bla bla... if if ($felt == 1), så bla bla bla...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis du vil sætte en variabel lig med noget skriver du: $variabel = "noget"; // hvis det skal være en streng (string / text) $variabel = 1 // hvis det skal være et tal(integer) $variabel = 1.25 // hvis det skal væer et reelt tal (real). Jeg tror, det du mener er, at du gerne vil kontrollere om et input-felt har en bestemt værdi ?? Det kan du gøre med enten: if($_GET["variabel"] == "værdi") { eller: if($_POST["variabel"] == "værdi") { //gør noget } else { //gør noget andet }
Jeg har en form hvor jeg tidligere brugte php til at checke inputtet i hver inputfelt.
if ... { Først tjekker jeg om post er sat samt hvert inputfelt er tomt (ikke i kodedelen). Første form kommer her. }
Så kommer vi til elseif-sætningen som indeholder anden form. elseif (($post) && ($felt == 0)) // hvis posted og $felt = 0 så vis anden form { if (empty ($felt) || (! ereg ("[a-zæøå0-9]" , $felt)) || ($felt == "Du mangler at udfylde felt")) // hvis $felt er tomt eller ikke svarer til tegn eller $felt = sætning så { $felt = 0; // sættes til 0 echo "<td><input class=\"felt\" maxlength=\"50\" name=\"felt\" size=\"27\" type=\"text\" value=\"Du mangler at udfylde felt\"></td>"; }
Så kommer vi til sidst til mysql delen hvor jeg sætter input ind hvis betingelser er opfyldt. if (($felt == 1)) // hvis $felt = 1, altså hvis betingelse fra anden form er opfyldt så { ...write input... }
Håber det gjorde det lidt klarere, ellers må i skrive igen ;)
Den bliver ikke sat nogen steder før ved $felt = 0; // sættes til 0. Det er det jeg gerne skulle have hjælp til nu. Altså at kunne lave en selvdefineret variabel ($felt), som jeg så kan lege med som jeg lyster...
Jeg har fået opdateret min gamle kode, men mangler altså lige denne lille, men betydelige ting, så formen kan komme til at virke igen.
Så er jeg lidt lost :) Hvorfor tjekker du variablen $felt inden den overhovedet er sat? Men bliver den ikke sat i formularen? Jeg tror du blander tingene lidt sammen og bruger $felt til flere ting samtidig...
Arg...kan godt se hvorfor du er er meget lost :) Jeg rettede i min gamle kode inden jeg pasted den her for at gøre den lidt mere overskuelig, men kan se jeg er kommet til at bruge $felt flere steder. Så er det jo ikke nemt... ;)
Prøver igen.
if (! isset ($post) && empty ($emne)) { echo "<form action=\"emne.php\" method=\"post\">"; Første form... echo "</form>"; }
elseif (($post) && ($felt == 0)) { Anden form hvis emne mangler... echo "<tr>"; echo "<td class=\"input\">Emne</td><td align=\"middle\" class=\"punkt\" width=\"15\">:</td>"; if (empty ($emne) || (! ereg ("[a-zæøå0-9]" , $emne)) || ($emne == "Du mangler at udfylde emne")) { $felt = 0; echo "<td><input class=\"felt\" maxlength=\"50\" name=\"emne\" size=\"27\" type=\"text\" value=\"Du mangler at udfylde emne\"></td>"; }
Jo, for hvis man skriver forkert en gang til skulle den jo gerne ikke submitte dette, og derfor mener jeg at kunne huske at $felt er nødvendigt der. Men det løser jo stadigvæk ikke mit problem, at jeg gerne vil lave en selvdefineret variabel. Jeg får en Undefined variable fejl.
I den php-fil hvor du "tegner" formen til at submitte data laver du også checket på felterne: <? if (!isset($_POST)) { ?> <form action="<?= $PHP_SELF ?>" method="POST"> <input type="text" name="emne"><br> <input type="submit" value="Send"> </form> <? } elseif(empty($_POST["emne"])) { ?> <form action="<?= $PHP_SELF ?>" method="POST"> Udfyld emne:<br /> <input type="text" name="emne"><br /> <input type="submit" value="Send"> </form> <? } else { //Sæt data ind i databasen her. echo "Emne er ikke tomt"; } ?>
ksostack : ja jeg laver en check på hver inputfelt hvis det ikke er tomt.
Anyway jeg tror ikke helt jeg har fået forklaret og skåret mit problem ud i pap grundig nok, kan jeg se på response, min fejl, men jeg dog har løst problemet nu, omendt måske på en lidt mere indviklet måde. Jeg skrev en kommentar i nat, men den er åbenbart ikke blevet sendt.
svoebers sidste kommentar 27/01-2003 23:21:06 ledte mig på sporet. Da jeg ikke lige nu er hjemme, er det måske ikke helt korrekt det jeg skriver nu, men det ser nogenlunde sådan her ud.
ksostack : meget venligt af dig, men du behøves altså ikke at bruge mere tid på spørgsmålet ;) Jeg glemte at paste koden igår, men gør det lige så snart jeg kommer hjem idag. Så tror jeg du vil forstå det lidt bedre. Din metode fejler ellers ikke noget, men jeg har gjort det således, at jeg checker hver inputfelt via nogle "funktioner", og udskriver en fejlmeddelelse i inputfeltet hvis felt, og hvis ellers ikke, så står værdi i inputfelt hvis fejl fra andre inputfelter. Lyder måske lidt kryptisk, anyway iøvrigt hvis nogen har lyst må de gerne være behjælpelig med at gennemteste min beta gæstebog :) Linket følger senere når jeg kommer hjem...
svoeber : venter stadig på et svar fra dig.
ksostack : du må også gerne smide et svar, så kan du få lidt points for din hjælp.
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.