Avatar billede jbob Nybegynder
08. oktober 2003 - 19:12 Der er 19 kommentarer og
1 løsning

Variable kommer "tomme" over i PHP

Endnu en gang er der noget jeg ikke fatter omkring overførsel af variable fra flash MX til PHP/MySQL.

Jeg mener ganske bestemt at dette før har virket, men nu kommer mine variable tommer over i PHP. Jeg har 3 inputtekstsfelter med varnavnene "kapitel", "sted", "titel". I samme frame har jeg en følgende knap:

on (release) {
    if (kapitel=="" or sted=="" or titel==""){
        en="Mindst én af variablerne er tomme?!?!";
        } else {
           
    loadVariablesNum ("write.php", 0,"POST");
    }
    }

Jeg har også tekstfelterne "en" og "to", hvor "en" skriver ovenstående fejlbesked og "to" modtager min query streng fra write.php. Query strengen viser at variblerne er tomme???

Hvad gør jeg galt?
Avatar billede jakwag Nybegynder
08. oktober 2003 - 19:16 #1
kan det være fordi de måske er undefined?

on (release) {
    if (kapitel=="" or sted=="" or titel==""kapitel==undefined or sted==undefined or titel==undefined){
        en="Mindst én af variablerne er tomme?!?!";
        } else {
           
    loadVariablesNum ("write.php", 0,"POST");
    }
    }
Avatar billede barklund Nybegynder
08. oktober 2003 - 19:43 #2
Brug "||" i stedet for "or":

on (release) {
    if (kapitel == "" || sted == "" || titel == ""){
        en = "Mindst én af variablerne er tomme ("+kapitel+","+sted+","+titel+")";
    } else {
        loadVariablesNum ("write.php", 0,"POST");
    }
}

Og så vil du i ovenstående variabel sikkert også finde synderen :)
Avatar billede jbob Nybegynder
08. oktober 2003 - 19:54 #3
Hej det virker ligeså godt som før, jeg får stadig tomme variable over i php, hvor jeg skriver til min MySQL tabel "foto". Der bliver indsat en række i foto, men uden værdier (jeg har autoincrement i første celle). Min query string modtager jeg fint fra php, den ser sådan ud (ALSÅ RESULTATET ikke selve §query):

INSERT INTO foto (kapitel, sted, titel)VALUES("", "", "")
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:04 #4
Hvordan ser din PHP ud?
Avatar billede jbob Nybegynder
08. oktober 2003 - 20:05 #5
For DÆLEN!!! Kan det være serveren/udbyderen - jeg har lige testet en lille gæstebog jeg havde liggende g den virker F... heller ikke - eller det vil sige det eneste der bliver skrevet er datoen NUM() altså alle variablerne er tomme. Meget mystisk!?
Avatar billede jbob Nybegynder
08. oktober 2003 - 20:08 #6
Min write.php ser sådan ud:

<?php

include ('Include.inc');

$conn = mysql_connect($DBhost,$DBuser,$DBpass);
mysql_select_db("$DBName");

$query = "INSERT INTO foto (kapitel, sted, titel)VALUES(\"$kapitel\", \"$sted\", \"$titel\")";

print "&to=".$query;

mysql_close($conn);
?>
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:09 #7
Jeg skyder på at det skyldes din php's config indstillinger. Har du prøvet

$_POST['kapitel']
$HTTP_POST_VARS['kapitel']

/Barklund
Avatar billede mat Nybegynder
08. oktober 2003 - 20:09 #8
prøv at strippe dine variabler fra flash

$variabel = strip_tags($HTTP_GET_VARS['variabel']);


..jeg ved ikke meget om php, men jeg havde det samme problem med et script da jeg flyttede det over på en windoze server....bare et (ukvalificeret) bud :)

mvh mat
Avatar billede jbob Nybegynder
08. oktober 2003 - 20:15 #9
Barklund - hvor skriver jeg de linier? i flash?
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:19 #10
Nej i PHP:

$query = "INSERT INTO foto (kapitel, sted, titel)VALUES(\"".$_POST['kapitel']."\", \"".$_POST['sted']."\", \"".$_POST[$titel']."\")";
Avatar billede jbob Nybegynder
08. oktober 2003 - 20:27 #11
æh.. altså således at der i stedet for:

$kapitel

står:

.$_POST['kapitel']

osv ?
Avatar billede barklund Nybegynder
08. oktober 2003 - 20:32 #12
ja
Avatar billede jbob Nybegynder
08. oktober 2003 - 21:01 #13
Æv det virker ikke -  her får jeg slet igen ting skrevet i tabellen.
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:04 #14
Så prøv med $HTTP_POST_VARS['kapitel']
Avatar billede jbob Nybegynder
08. oktober 2003 - 21:13 #15
Jeg tror der er gået ged i min syntax, jeg prøvede en omvej:

$aa = $_POST["kapitel"];
$bb = $_POST["sted"];
$cc = $_POST["titel"];

$query = "INSERT INTO foto (kapitel, sted, titel)VALUES('$aa', '$bb', '$cc')";

Og det VIRKER f....!

Hvad er det $_post["minVariabel"] gør??

Takker (igen, igen), Barklund!!! Smid et svar for point.
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:29 #16
Normalt er det slået fra et POST variabler automatisk bliver til "almindelige" variabler. Er de ikke blandt de øvrige, så er de at finde i det associative array $_POST.
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:31 #17
Du får lige et svar :)
Avatar billede jbob Nybegynder
08. oktober 2003 - 21:40 #18
Aha.. hvor kan man slå det til :-)
Avatar billede barklund Nybegynder
08. oktober 2003 - 21:48 #19
I din php config - men jeg vil foreslå dig at lade det være slået fra. Så har du meget bedre kontrol over egne variabler kontra post'ede variabler
Avatar billede jbob Nybegynder
08. oktober 2003 - 21:54 #20
Ja, det er selvfølgelig en fordel, tak!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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