Toon posts:

[JSP] Verwijderen uit databse werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik zit met het volgende probleem, Ik probeer om een vak te verwijderen uit een database, de naam van het vak moet overeenkomen met de naam in de databse, alleen deze rij mag worden verwijderd.
Nu heb ik de volgende code

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import = "java.io.*"%>
<%@page import = "javax.servlet.*"%>
<%@page import = "javax.servlet.http.*"%>
<%@page import = "java.sql.*"%>
<%@page import = "java.sql.Connection"%>
<%@page import = "java.sql.Statement"%>
<%@page import = "java.sql.ResultSet"%>
<%@include file="DBConnection.jsp" %>

<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


                <form action =  <%
                        javax.servlet.ServletRequest req = pageContext.getRequest();
                        String cursus = "";
                        cursus = req.getParameter("txtcursus");
                        String query2 = "DELETE FROM cursussen WHERE cursus = 'txtcursus'";
                        stmt.executeUpdate(query2);
                        %> >
                <input type="text" name="txtcursus" size= "width: 100; height: 25">
                <input type="submit" value="Verwijderen"name="verwijderen" style="width: 100; height: 25">
                <B>verwijderen is gelukt</B>
                </form>

                <%
                String query = "SELECT cursus FROM cursussen";
                ResultSet rs = stmt.executeQuery(query);
                while (rs.next()){
                %><%
                %><a href="verwijdercursus.jsp?cursus=<%out.println( rs.getString(1));%>"><%out.println( rs.getString(1));%></a><br>
                <%
                }
                %> <br> 
    


Mijn vraag is wat doe ik fout? aangezien hij geen rij verwijderd op het moment dat ik een goede waarde in het tekstvak invul en op submit druk?
Groeten Chris

  • André
  • Registratie: Maart 2002
  • Laatst online: 15-04 09:54

André

Analytics dude

W&G -> P&W :)

  • Standeman
  • Registratie: November 2000
  • Laatst online: 08:36

Standeman

Prutser 1e klasse

Heb je ook een foutmelding en zo niet, staat autocommit misschien uit?

The ships hung in the sky in much the same way that bricks don’t.


Verwijderd

Topicstarter
W&G -> P&W
Geen flauw idee wat je bedoelt :?
Heb je ook een foutmelding en zo niet, staat autocommit misschien uit?
hij geeft geen foutmelding, en hij heeft al eerder een verwijdering gedaan, echter toen gooide hij de hele tabel leeg. Dus ik denk dat hij ook wel commit.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Volgens mij moet je jezelf verdiepen in het verschil tussen clientside en serverside, want zo te zien begrijp jij het niet helemaal. Wat probeer je te doen met regels 15 t/m 22 in jouw code?

Verwijderd

Topicstarter
Volgens mij moet je jezelf verdiepen in het verschil tussen clientside en serverside, want zo te zien begrijp jij het niet helemaal. Wat probeer je te doen met regels 15 t/m 22 in jouw code?
met regels 15-22 probeer ik de waarde in het tekstvak txtcursus op te vragen en die te gebruiken bij de Delete query. hij moet de cursus in de tabel die dezelfde waarde heeft als txtcursus verwijderen en de rest niet verwijderen.

Verwijderd

Wat doe je hier :?
cursus = req.getParameter("txtcursus");
String query2 = "DELETE FROM cursussen WHERE cursus = 'txtcursus'";
Je doet niets met die variabele cursus? Op deze manier verwijder je de cursus met waarde 'txtcursus' 8)7

Doe dit eens:

code:
1
2
cursus = req.getParameter("txtcursus");
String query2 = "DELETE FROM cursussen WHERE cursus = " + cursus;

Misschien nog met quotejes er om heen.

offtopic:
Andre bedoelde dat je topic niet onder Webdesign & Graphics (W&G) maar onder Programming & Webscripting (P&W) hoorde, hij heeft je topic verplaatst :)

[ Voor 13% gewijzigd door Verwijderd op 05-01-2006 14:39 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Okee, dan heb ik dus idd gelijk. Verdiep jezelf eens in dat belangrijke verschil tussen client side en server side.
Wat aanwijzingen:

Het action attribuut van de form tag bevat de url die verantwoordelijk is voor het verwerken van die actie, dus niet zoals jij nu doet actie code.

Regel 20 moet eerder iets zijn in de richting van:
Java:
1
String query2 = "DELETE FROM cursussen WHERE cursus = '" + cursus + "'"; 

Dit is absoluut een verkeerde manier, omdat dit de ruimte overlaat voor sql-injection, een term waarmee je op Google misschien wil zoeken. Maar verkeerd of niet, dit is de snelste manier om die regel code correct te krijgen.

[ Voor 6% gewijzigd door bigbeng op 05-01-2006 14:42 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 17-04 11:22

TeeDee

CQB 241

Le me get this straight:
Je voert nu aan de form action een complete code die (zonder userinput te checken) je complete database kan wissen?

JSP is niet mijn sterkste taal (understatement) maar ik kan me niet voorstellen dat je je dit op deze manier moet doen.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
offtopic:
Andre bedoelde dat je topic niet onder Webdesign & Graphics (W&G) maar onder Programming & Webscripting (P&W) hoorde, hij heeft je topic verplaatst
Ow oki danke je voor de uilteg ;)
Je voert nu aan de form action een complete code die (zonder userinput te checken) je complete database kan wissen?
Ummmm yep :D Het is voor een schoolproject, Heb erg weinig verstand van JSP, Java etc, kregen de basisdingetjes geleerd in een stoomcursus van 3 dagen vervolgens mogen we in een groepje in 12 weken een complete dynamische website bouwen met forum, videostreaming en databasebewerkingen. Ben al blij als ie doet wat ik wil :9

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 17-04 11:22

TeeDee

CQB 241

Verwijderd schreef op donderdag 05 januari 2006 @ 14:55:
[...]

Ow oki danke je voor de uilteg ;)


[...]

Ummmm yep :D Het is voor een schoolproject, Heb erg weinig verstand van JSP, Java etc, kregen de basisdingetjes geleerd in een stoomcursus van 3 dagen vervolgens mogen we in een groepje in 12 weken een complete dynamische website bouwen met forum, videostreaming en databasebewerkingen. Ben al blij als ie doet wat ik wil :9
Ah. ;) Als het voor een schoolproject is, waarom vraag je dit niet aan je docent?

Een mogelijke werkwijze (nogmaals, ik weet niet zeker of jouw code fout is, maar hij is wel gevaarlijk) kan zijn:

Pagina 1: toon al je cursussen (met de link: verwijdercursus.jsp....)

Pagina 2:
verwijdercursus.jsp:
Vraag hier (uit de querystring) de betreffende cursus, gooi er wat checks omheen (dus ff googlen op sql_injection) en verwijder deze dan pas uit de database. Evt met een bevestiging voordat je daadwerkelijk de hele muk gaat verwijderen.

En klaar is schipp43.

Beetje ranzig van de school om je zo aan te laten modderen. Is er dan helemaal geen support en moet je dit zelf op zien te lossen met alle gevolgen van dien?

[ Voor 10% gewijzigd door TeeDee op 05-01-2006 15:01 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Dank jullie voor jullie hulp
Hij doet het nu :D,

Ik ben op zoek naar sql injection en zal me er wat verder in verdiepen.
Ik vindt het spijtig dat mijn school niet meer aandacht aan dit soort onderwerpen besteed, had ook liever een echt goed product opgeleverd :(
Mijn nederige excuses voor mijn noobisme _/-\o_

groeten Chris

Verwijderd

Topicstarter
Beetje ranzig van de school om je zo aan te laten modderen. Is er dan helemaal geen support en moet je dit zelf op zien te lossen met alle gevolgen van dien?
Tsja het is HBO studenten horen het zelf uit te kunnen zoeken en moeten assertief genoeg zijn om oplossingen te vinden. in plaats van lessen te geven is het bealngrijker dat we leren samen te modderen in een team (heb ik inderdaad veel aan als ik straks met mijn medevakkenvullers in de AH sta)
had de docent een week voor de kerstvakantie ge-emaild voor een gesprekje van 10 mins, hij verteld doodleuk dat ie die week geen tijd heeft en dat ik maar naar een andere docent moest gaan |:(

De ontwerpdocumentatie die we aangereikt kregen vanuit school (we hoefden het alleen te bouwen)
klopte ook van geen kant dus de stress en druk zitten er aardig goed in.
Ik ben blij dat er forums zoals deze bestaan waar mensen anderen verder helpen, ben blij dat ik zo verder kan komen met mijn project :)

  • Silver7
  • Registratie: Januari 2002
  • Laatst online: 13-04 13:10
Verwijderd schreef op donderdag 05 januari 2006 @ 15:13:
[...]

Tsja het is HBO studenten horen het zelf uit te kunnen zoeken en moeten assertief genoeg zijn om oplossingen te vinden. in plaats van lessen te geven is het bealngrijker dat we leren samen te modderen in een team (heb ik inderdaad veel aan als ik straks met mijn medevakkenvullers in de AH sta)
had de docent een week voor de kerstvakantie ge-emaild voor een gesprekje van 10 mins, hij verteld doodleuk dat ie die week geen tijd heeft en dat ik maar naar een andere docent moest gaan |:(

De ontwerpdocumentatie die we aangereikt kregen vanuit school (we hoefden het alleen te bouwen)
klopte ook van geen kant dus de stress en druk zitten er aardig goed in.
Ik ben blij dat er forums zoals deze bestaan waar mensen anderen verder helpen, ben blij dat ik zo verder kan komen met mijn project :)
Het is gewoon stomme project met alle verkeerde informatie..

Support kun je alleen vinden bij andere teams/Tweakers/Google, de docenten weten niet alles en zijn neit altijd beschikbaar..

Zie maar hoe de beginner (programmeur) maar moet gaan bedenken/oplossen...
(het hoort ook bij HBO, maar zo diep hoeft de school toch niet te zakken)
Pagina: 1