Avatar billede viperfx102 Nybegynder
16. maj 2002 - 19:17 Der er 17 kommentarer og
1 løsning

if (variable != null) virker ikke

Hvorfor bliver indholdet af min if-sætning også kørt selvom variablen kategori ikke indeholder noget??

kat=Request.form("kategori");
sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";

   
if (kat != null)
{
connection.execute(sql_kald);
Response.write("Kategorien er tilføjet til databasen");
}
Avatar billede marduk666 Nybegynder
16. maj 2002 - 19:22 #1
prøv

if (kat)
{

Evt: er det asp og php blandet sammen?
Avatar billede invisibleman Nybegynder
16. maj 2002 - 19:29 #2
marduk666: Det er JScript.
Avatar billede krisbjoern Nybegynder
16. maj 2002 - 19:30 #3
Jeg ville bruge denne model:

if kat <> "" Then
connection.execute(sql_kald);
Response.write("Kategorien er tilføjet til databasen");
End If

Når du bruger request.form går jeg ud fra at det er VBScript og ikke javascript du bruger som scriptsprog sammen med din ASP.
Og med VBScript ser en If-sætning ud som ovenstående.

Venlig Hilsen
Kristian Bjørn
KB3-MultiMedieDesign
Avatar billede viperfx102 Nybegynder
16. maj 2002 - 19:30 #4
marduk666: Nope det virker heller ikke!

Hele siden er sådan ud, den kalder så sig selv!

<!--#include file="LEFTADM.asp" -->
<td>
    <%
    kat=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
   
    if (kat != null)
    {
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>

    <form action="TK.asp" method="post">
    <table align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td>Kategori</td>
        <td><input type="text" name="kategori" size="25"></td>
      </tr>
      <tr>
        <td><input type="reset"></td>
        <td><input type="submit"></td>
      </tr>
    </table>
    </form>
 
</td>
</tr>
</table>
    <%
    connection.close;
    connection=null;
    %>
</body>
</html>
Avatar billede viperfx102 Nybegynder
16. maj 2002 - 19:33 #5
krisbjoern: Næ jeg laver den i JavaScript, da det er en skole opgave og vores lærer har bestemt at det skal laves i JavaScript (Det er det der er lettest for ham)
Kan jeg da ikke bruge Request.form med JavaScript???
Avatar billede krisbjoern Nybegynder
16. maj 2002 - 19:41 #6
Nej med Javascript hedder det document.form - den gør det samme som Request.Form i VBScript. (mere logisk efter min mening ;o)
Men du kan godt vallidere med "" i stedet for Null.
null betyder jo bare "Uden Værdi"... Dvs. hvis der er tal man validere efter og inputet er bogstaver så ville meldingen blive null - fordi værdien ikke kan tolks som tal.

I din situation går jeg ud fra at der er nogle bestemte valgmuligheder og derfor kan du bruge "" som betydende at der IKKE er skrevet/valgt noget i input-feltet og derfor kørers din ifsætning ikke længere(men det ved du jo)

Venlig Hilsen
Kristian Bjørn
KB3-MultiMedieDesign
Avatar billede krisbjoern Nybegynder
16. maj 2002 - 19:43 #7
Forskellig fra i Javascript er rigtignok: !=

Venlig Hilsen
Kristian Bjørn
Avatar billede aslan Nybegynder
16. maj 2002 - 19:49 #8
<!--#include file="LEFTADM.asp" -->
<td>
    <%
    if (kategori != null)
    {
    kat=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>

    <form action="TK.asp" method="post">
    <table align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td>Kategori</td>
        <td><input type="text" name="kategori" size="25"></td>
      </tr>
      <tr>
        <td><input type="reset"></td>
        <td><input type="submit"></td>
      </tr>
    </table>
    </form>
 
</td>
</tr>
</table>
    <%
    connection.close;
    connection=null;
    %>
</body>
</html>
Avatar billede aslan Nybegynder
16. maj 2002 - 19:50 #9
<!--#include file="LEFTADM.asp" -->
<td>
    <%
    if (kategori != null)
    {
    kategori=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>

    <form action="TK.asp" method="post">
    <table align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td>Kategori</td>
        <td><input type="text" name="kategori" size="25"></td>
      </tr>
      <tr>
        <td><input type="reset"></td>
        <td><input type="submit"></td>
      </tr>
    </table>
    </form>
 
</td>
</tr>
</table>
    <%
    connection.close;
    connection=null;
    %>
</body>
</html>
Avatar billede viperfx102 Nybegynder
16. maj 2002 - 19:56 #10
aslan: HHmmm så kategori jo ikke defineret når jeg bruger den i linie 4???
Avatar billede marduk666 Nybegynder
16. maj 2002 - 19:59 #11
invisibleman: Nååååh :)
Avatar billede aslan Nybegynder
16. maj 2002 - 20:01 #12
prøv lige:

<!--#include file="LEFTADM.asp" -->
<td>
    <%
    if (kategori != null)
    {
    kat=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>

    <form action="TK.asp" method="post">
    <table align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td>Kategori</td>
        <td><input type="text" name="kategori" size="25"></td>
      </tr>
      <tr>
        <td><input type="reset"></td>
        <td><input type="submit"></td>
      </tr>
    </table>
    </form>
 
</td>
</tr>
</table>
    <%
    connection.close;
    connection=null;
    %>
</body>
</html>


hva siger den så?
Avatar billede viperfx102 Nybegynder
16. maj 2002 - 20:05 #13
så vil kategori jo altid været null da den ikke er requestet endnu!
Avatar billede aslan Nybegynder
16. maj 2002 - 20:08 #14
Har du afprøvet?
Avatar billede viperfx102 Nybegynder
16. maj 2002 - 20:11 #15
Jep! Først bliver jeg jo  nød til at difinere kategori, så det ser sådan ud nu:

<!--#include file="LEFTADM.asp" -->
<td>
    <%
    var kategori;
    if (kategori != null)
    {
    kat=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>

    <form action="TK.asp" method="post">
    <table align="center" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td>Kategori</td>
        <td><input type="text" name="kategori" size="25"></td>
      </tr>
      <tr>
        <td><input type="reset"></td>
        <td><input type="submit"></td>
      </tr>
    </table>
    </form>
 
</td>
</tr>
</table>
    <%
    connection.close;
    connection=null;
    %>
</body>
</html>

Men når jeg så submit'ter laver den jo ikke en request før if-sætningen og så springer den jo bare over if-sætningen igen!
Avatar billede aslan Nybegynder
16. maj 2002 - 20:16 #16
<%
    var kategori;
    if (kategori == null){Response.write("husk navn");}
    else{
    kat=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>
Avatar billede aslan Nybegynder
16. maj 2002 - 20:17 #17
prøv oxo :

<%
    var kategori;
    if (kategori == ""){Response.write("husk navn");}
    else{
    kat=Request.form("kategori");
    sql_kald = "INSERT INTO kategori(kategori) VALUES ('"+kat+"')";
    connection.execute(sql_kald);
    Response.write("Kategorien er tilføjet til databasen");
    }
    %>
Avatar billede doc404 Novice
17. maj 2002 - 01:54 #18
Problemet er når du bruger JScript sammen med ASP. Request.Form("x") returnerer rent faktisk et objekt og derfor kan du ikke sammenligne med null - fordi objected ikke er null.

Det burde virke hvis du skriver Request.Form("kategori").item

læs mere her:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q173317
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
Kurser inden for grundlæggende programmering

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