[ASP]Padnaam meegeven

Pagina: 1
Acties:

  • amiga1260
  • Registratie: Juni 2003
  • Laatst online: 02-05 16:11
Ik maak gebruik van browse om de bestand te zoeken op de harde schijf en in die pad wil ik de gegevens in de geselecteerde database zetten.

De foutmelding luidt dat de pad niet bekend is.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<form METHOD="post" ACTION="bestemming.asp">
<input type="file" name="bestandsnaam">
<br>
<INPUT TYPE="submit" VALUE="Verzenden">
</form>
</body>
</html>


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
Dim bestandsnaam,Naam,Adres
Dim cnntestDB, rsttest, SQL

bestandsnaam=request.form("bestandsnaam")

Set cnntestDB = Server.CreateObject("ADODB.Connection")
cnntestDB.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("&bestandsnaam&")&";UID=;PWD="
Naam="Joe"
Adres="Teststraat 23"
SQL = "INSERT INTO Test(Test_ID,Naam,Adres)"
SQL = SQL & " VALUES ('""','"&Naam&"','"&Adres&"');"
response.write SQL

Set rsttest = cnntestDB.execute(SQL)

cnntestDB.close
Set cnntestDB = Nothing

%>


Daarnaast heb ik nog op de forum deze code gevonden:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
<title>test</title>
<script type="text/javascript">

function doemaar(value) {

  var file = /[^\\]+$/.exec(value)[0];
  document.forms['myform'].elements['filename'].value = file;

}

</script>
<body>
<form name="myform">
  <input name="bestandsnaam" type="text" />
  <input type="button" value="browse" onclick="document.getElementById('filebrowser').click()" />
</form>
<input style="display:none" type="file" id="filebrowser" onchange="doemaar(this.value)" />
</body>
</html>


Dit werkt niet met IIS van Windows XP Pro

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Het zou leuk zijn als je zou zeggen op welke regel het fout gaat. En verder komt een geupload bestand niet beschikbaar via het filesystem op de server, althans niet zoals jij het gebruikt.

Misschien dat je beter deze pagina eens kan bekijken:
http://www.stardeveloper....article=2001042501&page=2

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
amiga1260 schreef op 09 juni 2004 @ 15:23:
code:
1
2
3
4
...
(*.mdb)};DBQ="&Server.MapPath("&bestandsnaam&")&";UID=;PWD="
...
SQL = SQL & " VALUES ('""','"&Naam&"','"&Adres&"');"
misschien iets om spaties om de &-tekens te zetten?? Dit kan ook fout gaan.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 13:37

TeeDee

CQB 241

Volgens mij krijg je dit te zien:

http://www.domain.nl/&bestandsnaam&

M.a.w., je bestandsnaam hoeft niet tussen "& ... &" Wat zeg ik,... hell.. voorbeeldcode :)
ASP:
1
2
"DRIVER={Microsoft Access Driver (*.mdb)};
DBQ="&Server.MapPath(bestandsnaam)&";UID=;PWD="


even een linebreak voor de leesbaarheid erin gedaan :)

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


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Het gaat inderdaad hopeloos mis met de quotes en ampersands...

Maar er gaat nog meer fout. Je vraagt bestandsnaam op via Request.Form. Dat kan wel, en levert misschien ook wel de bestandsnaam op, maar wat dan? Dan ga je (door gebruik van Server.MapPath) er maar zomaar vanuit dat dat bestand ook in de huidige directory op de server staat? En daarmee open je zelfs een database?

Dat lijkt me niet zo slim :)

Misschien moet je ff in drie regels uitleggen wat je wil bereiken, ik voorzie dat eens van ons wel een alternatieve (lees: betere) aanpak weet ;)

日本!🎌


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je moet ook nog een speciaal encoding type voor het forumulier zetten als je bestanden wilt uploaden. (Je begrijpt toch wel dat je de bestanden eerst moet uploaden voor je ze serverside kunt gebruiken?)

ENCTYPE="MULTIPART/FORM-DATA" is het juiste type, maar zoals _Thanatos_ al zegt zijn wel meer dingen die niet helemaal goed gaan. Misschien is het een goed idee wat tutorials door te nemen

Oops! Google Chrome could not find www.rijks%20museum.nl


  • amiga1260
  • Registratie: Juni 2003
  • Laatst online: 02-05 16:11
Het programma moet het volgende doen:

Een pad kiezen waar het bestand staat en die meegeven aan de ASP script, die vervolgens in die pad de gegevens in de database stopt.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

amiga1260 schreef op 10 juni 2004 @ 10:19:
Het programma moet het volgende doen:

Een pad kiezen waar het bestand staat en die meegeven aan de ASP script, die vervolgens in die pad de gegevens in de database stopt.
Ff samenvatten hoor.

1. Je wil een bestand uploaden naar de server.
2. Dan zoek je dat bestand op de server op.
3. Je neemt de map van dat bestand.
4. Je opent in die map een database.

:?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • amiga1260
  • Registratie: Juni 2003
  • Laatst online: 02-05 16:11
Ja, dat was de bedoeling.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 13:37

TeeDee

CQB 241

Und? Heb je wat gehad aan de hints/tips die hier staan?

Response.write eens:
ASP:
1
response.write Server.Mappath(bestandsnaam)

Dan kan je zien waar het file opgehaald wordt.

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


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Een bestand dat je uploadt komt pas in een map te staan als je het zelf in een map zet. Verder zou je, zelfs als het in een map terecht zou komen, telkens dezelfde map krijgen dus die kun je net zo goed hard inprogrammeren. En dan een laatste puntje: heb je nou in elke map waar mogelijk een bestand heen zou kunnen een mdb bestand staan? Of wil je gewoon simpelweg de geuploade mdb file openen? Dat zou dit alles wel een stuk duidelijker maken...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • amiga1260
  • Registratie: Juni 2003
  • Laatst online: 02-05 16:11
Het is wat ik nodig heb. Het probleem is opgelost met die pad.
Pagina: 1