Avatar billede syswatch Novice
07. februar 2015 - 20:30 Der er 5 kommentarer

Fange en SELECT og lave variabel.

Hejsa,
Længe siden jeg har rodet sådan rigtig med PHP programmering, men noget må være lavet om siden jeg sidst legede.

Har denne SELECT i en form:

<select class="form-control" name="vouchertime" id="vouchertime">
                                    <optgroup label="Timer">                        <option value="60">1 time</option>                        <option value="120">2 timer</option>                        <option value="180">3 time</option>                        <option value="300">5 timer</option>                    <option value="600">10 timer</option>                                </optgroup>
<optgroup label="Dage">
<option value="1day">1 dag</option>                        <option value="2day">2 dage</option>                        <option value="3day">3 dage</option>                        <option value="4day">4 dage</option>                        <option value="5day">5 dage</option>                        <option value="6day">6 dage</option>                        <option value="7day">7 dage</option>                        <option value="8day">8 dage</option>                                </optgroup>                                </select>

Og burde man så ikke bare kunne fange resultat med php sådan her:

$var = $_POST['vouchertime'];

Det virker ihvertfald ikke... Den er "tom" ??
Men hvis jeg laver en print_r($_POST]);
Så kan jeg se at data er med over.... hmmm... Anyone ?
Avatar billede moddi100 Seniormester
07. februar 2015 - 22:10 #1
Såfremt print_r($_POST) afslører data i 'vouchertime' er det den helt rigtige fremgangsmåde. Tror derfor vi bliver nødt til at se noget mere kode. Gerne det sted, hvor du siger den er "tom"
Avatar billede syswatch Novice
08. februar 2015 - 11:36 #2
Har denne kode som modtager min POST FORM.

<?php
session_start();

if (!empty($_POST)) {
            include("dbcon.php");       
               
                if(isset($_POST['unlimited'])) {
                $upload = "free";
                $download = "free";
                $unlimited = 1;
                }else{
                $upload = "$_POST[upload]";
                $download = "$_POST[download]";
                $unlimited = 0;
                }
               
                if(empty($_POST['deviceid'])) {
                $deviceid = "None";
                }else{
                $deviceid = $_POST['deviceid'];
                }
               
                $customerid = $_POST['cid'];
                $vouchercode = $_POST['vouchercode'];
                $vouchertime = $_POST['vouchertime'];;
               
                $query = "INSERT INTO vouchers (active, customerid, code, minutes, upload, download, deviceid, unlimited) VALUES('1', '$customerid', '$vouchercode', '$vouchertime', '$upload', '$download', '$deviceid', '$unlimited')";
                $result = mysql_query($query) or die('Invalid query: ' . mysql_error());                   
           
            header("Location: dashboard.php?p=addvoucher.php&id=$customerid&r=ok");
            }else{
            print "fejl";
            }
?>
Avatar billede Rosenkjaer Novice
09. februar 2015 - 08:18 #3
Prøv at ændre den dobbelte semikolon til et enkelt.

$vouchertime = $_POST['vouchertime'];;

Ændres til:

$vouchertime = $_POST['vouchertime'];
Avatar billede syswatch Novice
09. februar 2015 - 08:43 #4
Xylene: Amen, for h... da !! :D
Kæft en noob fejl... Jeg havde simplethen overset det ekstra semikolon, og bare stirret mig blind på det i de sene aftentimer.
Anyway, tak for hjælpen :-) Smider du et svar så jeg kan lukke den her af ?
Avatar billede Rosenkjaer Novice
09. februar 2015 - 16:07 #5
Nogle gange er de mindste fejl de sværeste at finde :)

God dag
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

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