Autor Zpráva
janka03
Profil
Mam stranku v .asp. Sama neprogramujem, ale niekto (na koho sa už nemôžem obrátiť o pomoc) mi raz urobil vzorovú asp stránku s naprogramovaním registračného formulára na prihlasovanie a odhlasovanie noviniek. Po rokoch niečo prestalo fungovať a ja to neviem analyzovať. Je to urgentné.
V browseri to zobrazuje chybyWeb je na http://www.misenska.cz
Vyplnenie formulára mi údaje do databáze zapíše, ale nevracia mi hlášku, že adresa bola pridaná s príslušnou nadefinovanou stránkou. Po vyplnení mena a emailu sa zobrazuje nejaka HTTP 500 vnútorna chyba serveru... alebo jmail.Message error '8000ffff' Error: 550 The following recipients could not be sent to:ab@ab.cz; 550 not local host ab.cz, not a gateway
/index.asp, line 36 (pricom ab.cz je vymyslena emailova adresa, ktoru registrujem...
Ak vyplním tú e-mailovú adresu v nesprávnom tvare - potiaľ to funguje - vypíše totiž, že adresa je zapísaná nesprávne, ale ďalej nefunguje. Nevráti príslušnú stránku s hláškou "Vaše emailová adresa byla úspěšně zařazena do seznamu."
Ospravedlňujem sa, že neviem presne, ktorý riadok je v tomto prípade dôležitý!


Pred samotným HTML HEAD:
<%
Function IsEmail(ByVal Text)
Dim I

IsEmail = False
Text = LCase(Text)
For I = 1 To Len(Text)
If InStr("abcdefghijklmnopqrstuvwxyz0123456789@.-_", Mid(Text, I, 1)) = 0 Then Exit Function
Next
If Len(Text) < 6 Then Exit Function
If InStr(Text, "@") <> InStrRev(Text, "@") Then Exit Function
If InStr(Text, "@") < 2 Or InStr(Text, "@") > Len(Text) - 4 Then Exit Function
If InStrRev(Text, ".") < InStr(Text, "@") Then Exit Function
If Len(Text) - InStrRev(Text, ".") < 2 Or Len(Text) - InStrRev(Text, ".") > 3 Then Exit Function
IsEmail = True
End Function

if (Request.Form("type") = "subscribe") Then
if IsEmail(Request.Form("emailsub")) then
Set conn_data = CreateObject("ADODB.Connection")
conn_data.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:wwwdatawdfe0534dbdb.mdb"
conn_data.execute("DELETE FROM Newsletter WHERE Email = '"&Request.Form("emailsub")&"'")
conn_data.execute("INSERT INTO Newsletter (Email,Name) VALUES ('" &Request.Form("emailsub")& "', '" &Request.Form("name")& "')")
conn_data.Close
Set conn_data = nothing

Subscribe = "Vaše emailová adresa byla úspěšně zařazena do seznamu."
Set jmail = Server.CreateObject("JMail.Message")
jmail.Charset = "Windows-1250"
jmail.AddRecipient "adresa@adresa.cz", "meno"
jmail.AddRecipient Request.Form("emailsub"), Request.Form("name")
jmail.From = "adresa@adresa.cz"
jmail.FromName = "sklep"
jmail.Subject = "Přihlášení informačního servisu"
jmail.Body = "Přihlášení k zasílání informací na adresu: " & Request.Form("emailsub")
jmail.Send "mail.misenska.cz"
else
Subscribe = "Špatný formát zadané email adresy."
end if
end if

if (Request.Form("type") = "unsubscribe") Then
if IsEmail(Request.Form("emailunsub")) then
Set conn_data = CreateObject("ADODB.Connection")
conn_data.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:wwwdatawdfe0534dbdb.mdb"
conn_data.execute("UPDATE Newsletter SET Spam = -1 WHERE Email = '"&Request.Form("emailunsub")&"'")
conn_data.Close
Set conn_data = nothing

Unsubscribe = "Vaše emailová adresa byla úspěšně odstraněna ze seznamu."
Set jmail2 = Server.CreateObject("JMail.Message")
jmail2.Charset = "Windows-1250"
jmail2.AddRecipient "adresa@adresa.cz", "meno"
jmail2.AddRecipient Request.Form("emailunsub")
jmail2.From = "adresa@adresa.cz"
jmail2.FromName = "sklep"
jmail2.Subject = "Odhlášení informačního servisu"
jmail2.Body = "Odhlášení zasílání informací na adresu: " & Request.Form("emailunsub")
jmail2.Send "mail.misenska.cz"
else
Unsubscribe = "Špatný formát zadané email adresy."
end if
end if
%>




A na príslušnom mieste v stránke príslušný formulár:


<!-- Prihlasovací formulár - zaciatok -->
<div class="newsbox">
<div class="newsleft">
<span class="newstitle">Přihlášit odběr novinek</span>
<form name="subscribe" method="POST" action="index.asp" target="_blank">
<b>Vaše emailová adresa</b>
<input type="text" class="FlatE" name="emailsub" size="17"><br>
<b>Vaše jméno</b>
<input type="text" class="FlatE" name="name" size="17">
<input type="submit" class="FlatE" name="submit" value="Přihlásit">
<input type="hidden" name="type" value="subscribe">
<br><b><%=Subscribe%></b>
</form>
</div>
</div>
<!-- Prihlasovací formulár - koniec -->




<!-- Odhlasovací formulár - zaciatok -->

<div class="newsbox">
<div class="newsleft">
<span class="newstitle">Odhlásit odběr novinek</span>
<form name="unsubscribe" method="POST" action="index.asp" target="_blank">
<b>Vaše emailová adresa</b>
<input type="text" class="FlatE" name="emailunsub" size="17"> <input type="submit" class="FlatE" name="submit" value="Odhlásit">
<input type="hidden" name="type" value="unsubscribe">
<br><b><%=Unsubscribe%></b>
</form>
</div>
</div>

Spolieham sa na niekoho šikovného, kto ma usmerní, lebo si neviem rady.
Vďaka.
Toto téma je uzamčeno. Odpověď nelze zaslat.