mokelmann
05-03-2008, 09:30
Hallo,
ich habe eine Seite in HTML geschrieben, und habe diese im nachhinein nun einfach in asp umbenannt, da ich einen ASP code in die HTML einfügen muss. Wenn ich den ASP Code ganz am Anfang der Seite plazieren, an erster STelle, funktioniert der Code, wenn ich ihn aber dort hin setzte, wo er hin soll, in ein DIV, dann gibt es einen error....
Hat jemand vielleicht eine Idee?
moke
1. ohne code nix los ...
2. bitte immer die Fehlermeldung posten ...
Hast du am Anfang der asp-Datei auch die Zeile:
<%@ language="vbscript" %>
Wenn nicht, füge sie mal ein.
mokelmann
05-03-2008, 10:19
Dieser Code:
<% Option Explicit %>
<!--#include virtual="/members/includes/sConnString.asp"-->
<!--#include virtual="/members/includes/sitesettings.asp"-->
<!--#include virtual="/members/includes/functions.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Forgotten Password</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="/members/includes/stylesheet.css" type="text/css" />
<form method="post" action="forgotten_password.asp">
<div align="center"><br /><br /><br /><table cellpadding="3" cellspacing="3" style="width:60%; background-color:#EEF3FB; border:1px solid #6185C1;">
<tr>
<td width="40%">Username</td>
<td colspan="2" width="60%"> <input type="text" name="txtUsername" class="input">
</td>
</tr>
<tr>
<td width="40%">Email</td>
<td colspan="2" width="60%"> <input type="text" name="txtEmail" class="input">
</td>
</tr>
<tr>
<td colspan="3"> <div align="center">
<input type="submit" name="Submit" value="Submit" class="submit">
<input type="reset" name="Reset" value="Reset" class="submit">
</div></td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td colspan="3"> <div align="center"><a href="/members/login.asp">login</a></div></td>
</tr>
</table>
</div>
</form>
<%
'declare your variables
Dim oConnection, oRecordset, sSQL
Dim sEmail, sUsername, sPassword
Dim sPasswordMessage, sMessage
'if the form has been submitted with details filled in execute following code
'and send out an email with the password if valid entry
If Request.Form <> "" Then
sEmail = Request.Form("txtEmail")
sUsername = Request.Form("txtUsername")
If illegalChars(sEmail)= False AND illegalChars(sUsername)= False Then
Set oConnection=Server.CreateObject("ADODB.Connection")
Set oRecordset=Server.CreateObject("ADODB.Recordset")
oConnection.Open sConnString
sSQL = "SELECT * FROM codefixermp_tblMembers WHERE Email ='" & sEmail & "' AND username='" & sUsername & "'"
oRecordset.Open sSQL,oConnection
If oRecordset.Eof Then
sMessage = "Sorry your account does not seem to exist."
Else
sEmail=oRecordset("email")
sPassword=oRecordset("Password")
sPasswordMessage="Your forgotten Password is " & sPassword
Call SendEmail(sEmail, sSitename & " login details", sPasswordMessage, sAdministratorsEmail,"HTML")
sMessage = "Your password has been sent to your email address."
End If
'close the connection and recordset objects
oRecordset.Close
Set oRecordset = Nothing
oConnection.Close
Set oConnection = Nothing
Response.write "<div align=""center""><p>" & sMessage & "</p></div>"
Else
Response.write "<div align=""center""><p>Sorry your account does not seem to exist.</p></div>"
End If
End If
%>
</body>
</html>
Soll in diese Datei, dort, wo "HIER REIN" steht....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta name="Description" content="Information architecture, Web Design, Web Standards." />
<meta name="Keywords" content="your, keywords" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Distribution" content="Global" />
<meta name="Author" content="Erwin Aligam - ealigam@gmail.com" />
<meta name="Robots" content="index,follow" />
<link rel="stylesheet" href="images/BrightSide.css" type="text/css" />
<title>Bright Side of Life</title>
</head>
<body>
<!-- wrap starts here -->
<div id="wrap">
<div id="header">
<h1 id="logo">Lifestyle<span class="green">TV</span></h1>
<h2 id="slogan">Bringing the practical gospel to you...</h2>
<!-- Menu Tabs -->
<ul>
<li id="current"><a href="index.html"><span>Home</span></a></li>
<li><a href="videos.html"><span>Videos</span></a></li>
<li><a href="index.html"><span>Registrieren</span></a></li>
<li><a href="impressum.html"><span>Impressum</span></a></li>
</ul>
<div>
<%
Dim sLogin
sLogin=Request.QueryString("login")
If sLogin="illegal" Then
Response.write("<div align=""center""><p>Please try again. You entered illegal characters.</p></div>")
ElseIf sLogin="invalid" Then
Response.write("<div align=""center""><p>Your username and password do not match.</p></div>")
End If
%>
<div>
<form name="Login_form" method="post" action="check_member.asp" class="searchform">
<table border="0" cellpadding="1" >
<tr>
<td>
<td><div align="center">Username: </div>
<td><div<input name="txtUserName" type="text" class="textbox" id="txtUserName" value="<%= Request.Cookies("MPUserCookie") %>" />
<td><div align="center"><input type="submit" name="Submit" value="Login" class="submit" /></div>
</tr>
</tr>
<tr>
<td>
<td><div align="center">Password:</div>
<td><input name="txtPwd" type="password" class="textbox" id="txtPwd" value="<%= Request.Cookies("MPPassCookie") %>" /></td>
<td><div align="center"><input type="reset" name="Reset" value="Reset" class="submit" /></div>
<tr>
<td>
<td>
<td><div align="left">Login merken <input name="checkbox" type="checkbox" id="checkbox" value="1" <%If (Request.Cookies("MPRememberCookie") = "1") Then Response.Write("CHECKED") : Response.Write("")%> /></div>
<td>
</tr>
</table>
</form>
</div>
</div>
</html>
</div>
<!-- content-wrap starts here -->
<div id="content-wrap">
<div id="reg">
<div><form name="Login_form" method="post" action="check_member.asp" class="searchform">
<table align="right">
<tr>
<td align="center"><a href="/lifestyle/join/forgotten_password.asp">Passwort vergessen?</a> <a href="/lifestyle/join/view_lifestylehip_options.asp">Hier registrieren!</a>
</td>
</tr>
</table>
</form>
</div>
</div>
<div id="main">
<a name="TemplateInfo"></a>
HIER REIN!!!!!!!
<br />
</div>
<!-- content-wrap ends here -->
</div>
<!-- footer starts here -->
<div id="footer">
<div class="footer-left">
<p class="align-left">
© 2006 <strong>LifestyleTV.de</strong> |
Valid <a href="http://validator.w3.org/check/referer">XHTML</a> |
<a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>
</p>
</div>
</div>
<!-- footer ends here -->
<!-- wrap ends here -->
</div>
</body>
</html>
Kann es sein, das dies vllt mit den method:post zusammenhängt, da ich dann ja 2 solcher Abfragescripte auf meiner Seite habe, einmal für den Login und einmal, falls man sein Passwort vergessen hat.
Danke!
mokelmann
05-03-2008, 10:35
Ich habe gemerkt, dass das <% Option Explicit %> den Fehler verursacht.
Warum?
Original geschrieben von mokelmann
Ich habe gemerkt, dass das <% Option Explicit %> den Fehler verursacht.
Warum?
Option Explicit ist die beste Direktive, schalte sie bloß nicht ab :teach: Diese Einstellung erzwingt dem Programmierer jede verwendete Variable zu deklarieren und somit das Debuggen um vielfach erleichtert (Tippfehler sind somit nicht möglich bzw. sofort angemeckert). In PHP vermisse ich diese Directive.
Du kannst nicht einfach so rein kopieren. Du musst viele Dingen dabei beachten, z.B.
- <% Option Explicit %> muss am Anfang stehen
- auf doppel deklarierte Variable achten
- auf HTML-Dokumenten-Struktur achten, z.B. html-, head- und body-Tag nur einmal; <!DOCTYPE auch, etc ...
- ...
Lerne lieber Grundlagen von HTML und ASP bevor du irgendwas machst.
Ich mache Schluß hier, null Bock Grundlagenunterricht zu erteilen.