ABA


"איך אני שולח נתון מקובץ ASP אחד לאחר"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #12160 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12160
nsigns

   10:34   26.05.07   
אל הפורום  
  איך אני שולח נתון מקובץ ASP אחד לאחר  
 
   עשיתי טבלה שמציגה את כל המשתמשים במסד נתונים
(שום דבר לא מאובטח לא צריך)
קיצר אני רוצה שיהיה לכל אחד לינק "מחק"
והמשתמש ימחק
אבל אני יצטרך לעשות את זה לכל משתמש בנפרד אני רוצה להעביר את הusername כפרמטר או משהו לקובץ אחר שימצא אותו בטבלה וימחק
איך אני עושה את זה?
תודה מראש


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תעלה את הקוד שלך Sn00py  26.05.07 10:41 1
     מכתב nsigns 27.05.07 09:07 2
         אוקיי, נניח שיש לך שדה בשם ID שהוא המפתח ראשי Sn00py  27.05.07 11:23 3
             רק מה זה p.fields(''id) זה כאילו משתנה? nsigns 27.05.07 14:39 7
                 אני אסביר לך למה הוא התכוון... ronen333  27.05.07 14:47 8
                     חייבת להיות לו עמודה בשם ID, שמוגדרת בתור מפתח ראשי Sn00py  27.05.07 17:45 10
  רגע וp.fields(''id'') זה מס' אוטומטי או משהו כזה? ronen333  27.05.07 13:18 4
     כן Sn00py  27.05.07 13:40 5
         אז למה לא פועל לי? P= ronen333  27.05.07 13:57 6
             מבדיקה ראשונית ולא מעמיקה, ובהנחה שאין טעויות אחרות Sn00py  27.05.07 17:45 9
                 אז רגע.. ronen333  27.05.07 17:51 11
                     אתה בטוח ש ID במסד הוא מסוג מספר? Sn00py  27.05.07 18:07 12
                         כן. זה מס' אוטומטי ronen333  27.05.07 19:00 13
                             שינתי את הדרך ronen333  27.05.07 19:51 14
                                 עשיתי הדפסה לdel_update וגילתי ronen333  27.05.07 20:04 15
                                     זהו!!! הצלחתי =] ronen333  27.05.07 20:54 16

       
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   10:41   26.05.07   
אל הפורום  
  1. תעלה את הקוד שלך  
בתגובה להודעה מספר 0
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
nsigns

   09:07   27.05.07   
אל הפורום  
  2. מכתב  
בתגובה להודעה מספר 1
 
   http://rotter.name/User_files/nor/4659200404746079.txt


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   11:23   27.05.07   
אל הפורום  
  3. אוקיי, נניח שיש לך שדה בשם ID שהוא המפתח ראשי  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 27.05.07 בשעה 11:24 בברכה, Sn00py
 

<%@language="vbscript" codepage="1255" %>
<%
if Session("admin")=true then
set c = server.createobject("adodb.connection")
c.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mapPath("database.mdb")

set r = server.createobject("adodb.recordset")
r.activeconnection = c
r.open "select * from userdetails"

set p = server.createobject("adodb.recordset")
p.activeconnection = c
p.open "select * from userlogin"

if not r.EOF then

r.MoveFirst
response.write "<body bgcolor=f8f8f8>"
response.write "<center>"
response.write "<font size='5'>"
response.write "רשימת משתמשים"
response.write "<table border='1'>" ' this opens a HTML table
response.write "<tr>" ' this opens a HTML table row
response.write "<th bgColor='red'><font color='white'>user name</td>" ' First name table header
response.write "<th bgColor='red'><font color='white'>first name</td>" ' Last name table header
response.write "<th bgColor='red'><font color='white'>last name</td>"
response.write "<th bgColor='red'><font color='white'>email</td>"
response.write "<th bgColor='red'><font color='white'>password</td>"
response.write "</tr>" ' close first table row
do until r.eof
response.write "<tr>" 'this will open a new HTML table row every run of the loop
response.write "<td>" & r.fields("username") & "</td>"
response.write "<td>" & r.fields("firstname") & "</td>"
response.write "<td>" & r.fields("lastname") & "</td>"
response.write "<td>" & r.fields("mail") & "</td>"
response.write "<td>" & p.fields("password") & "</td>"
response.write "<td><a href='del.asp?id=" & p.fields("id") & "'>למחיקה לחץ כאן</a></td>"
response.write "</tr>" 'this will close the HTML table row every run of the loop
r.movenext
loop
response.write "</table>" 'this closes the HTML table
response.write "</font>"
else
Response.Write("table is empty")
Response.Write("<body><a href='http://localhost/myclub1/MainPage.htm' target='_blank'>Go Back</a></body>")
end if

else
Response.Write("No Permission")

end if
%>
<html><head></head><body></body></html>

בדף del.asp תקבל באמצעות QUERYSTRING את ה ID למחיקה, ותמחק מהמסד נתונים באמצעות משפט DEL WHERE... כמובן שה WHERE יתייחס ל ID

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
nsigns

   14:39   27.05.07   
אל הפורום  
  7. רק מה זה p.fields(''id) זה כאילו משתנה?  
בתגובה להודעה מספר 3
 
   ואין מצב שהוא יחזור על עצמו פעמיים?
ואיך אני מתייחס עם הwhere לID ?
תודה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   14:47   27.05.07   
אל הפורום  
  8. אני אסביר לך למה הוא התכוון...  
בתגובה להודעה מספר 7
 
   אתה עושה מס' אוטומתי במסד שלך וקורא לשדה הזה ID.
אחר כך אתה אומר לו בזמן שהוא שולף את הנתונים בטבלה שאתה שולח משתנה id מהשדה בטבלה הווירטואלית.

ואז אתה יוצר דף מחיקה שמקבל QUERYSTRING ופשוט מבצע מחיקה.
(כמו שאני עשיתי רק שזה לא עובד... אני מחכה שהוא יענה לי P


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   17:45   27.05.07   
אל הפורום  
  10. חייבת להיות לו עמודה בשם ID, שמוגדרת בתור מפתח ראשי  
בתגובה להודעה מספר 8
 
   והיא מספור אוטומטי.

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:18   27.05.07   
אל הפורום  
  4. רגע וp.fields(''id'') זה מס' אוטומטי או משהו כזה?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   13:40   27.05.07   
אל הפורום  
  5. כן  
בתגובה להודעה מספר 4
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:57   27.05.07   
אל הפורום  
  6. אז למה לא פועל לי? P=  
בתגובה להודעה מספר 5
 
   ניסתי לעשות גם מה שאמרת היה נשמע לי מעניין..
אבל לא פועל.

דף ניהול-


<% If Session("pre")="ok" Then %>
<h1>הוסף עדכון</h1>
<br>
<form method="post" action="http://users1.nofeehost.com/aviad/db/news.asp">
<input type="text" name="news">
<br>
<input type="submit" value="הכנס עדכון">
</form>


<hr color="black">


<%
Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\news.mdb;" & _
"Uid=admin;" & _
"Pwd=;"

Set tableRs=Server.CreateObject("ADODB.Recordset")

mySql= "Select * From table1 ORDER BY ddate DESC"
tableRs.Open mySql, oConn,2,2
%>


<table border="1" cellpadding="4" bordercolor="black">
<tr bgcolor="#E4EAF2">
<td>עדכון</td>
<td>מחיקה</td>

<tr>

<% do until tableRs.eof %>

<tr>
<td bgcolor="silver"><% =tableRs.fields("myupdate") %></td>
<td bgcolor="silver"><a href='delete_update.asp?id=" & tableRs.fields("id") &"'>מחק</a></td>


</tr>

<%
tableRs.Movenext
loop
%>
</table>


<%
oConn.Close
Set oConn= nothing
%>
<% End If %>


דף המחיקה-


<html dir="rtl">
<head>
<%@ Language="VBScript" codepage=1255%>
<meta name="verify-v1" content="BnfsFfYT6nNW4AcnOhWGZAgtpjcsVw51ehnhYAKW5Lc=" />
<title></title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body background="panelpic/3D_adamant_enlemency.jpg">
<center>
<% If Session("pre")="ok" Then %>

<% del_update=Request.Querystring("id") %>
<%

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\news.mdb;" & _
"Uid=admin;" & _
"Pwd=;"

%>
<% Change= "DELETE From table1 WHERE id=('"&del_update&"')" %>

<%
oConn.Execute(Change)
oConn.close
Set oConn= nothing
%>
<% End If %>

</body>
</html>

זה אומר שיש בעיה בדף של המחיקה בשורה 26 (בEXECUTE)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   17:45   27.05.07   
אל הפורום  
  9. מבדיקה ראשונית ולא מעמיקה, ובהנחה שאין טעויות אחרות  
בתגובה להודעה מספר 6
 
   הטעות שהכי בלטה לי זה ששמת גרשים ('') בשורת מחיקה - מה שלא אמור להיות כי השדה הוא מספרי(וגרשים משמשים למחרוזות).
השורה המתוקנת:

<% Change= "DELETE From table1 WHERE id= " & del_update %>

ואגב, למה אתה סוגר ופותח ASP כל כך הרבה פעמים במקום לכתוב בבלוקים?

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   17:51   27.05.07   
אל הפורום  
  11. אז רגע..  
בתגובה להודעה מספר 9
 
   ערכתי לאחרונה בתאריך 27.05.07 בשעה 17:55 בברכה, ronen333
 
עדיין יש לי בעיה.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Syntax error in string in query expression 'id= "'.

/aviad/delete_update.asp, line 26


ואני פותח וסוגר ASP כל פעם כי זה נוח לי ככה בעין P=


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   18:07   27.05.07   
אל הפורום  
  12. אתה בטוח ש ID במסד הוא מסוג מספר?  
בתגובה להודעה מספר 11
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   19:00   27.05.07   
אל הפורום  
  13. כן. זה מס' אוטומטי  
בתגובה להודעה מספר 12
 
   ערכתי לאחרונה בתאריך 27.05.07 בשעה 19:01 בברכה, ronen333
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   19:51   27.05.07   
אל הפורום  
  14. שינתי את הדרך  
בתגובה להודעה מספר 13
 
   ערכתי לאחרונה בתאריך 27.05.07 בשעה 19:54 בברכה, ronen333
 
הפכתי עכשיו בDB את השדה לטקסט ועשיתי שכל פעם שרשושמים הודעה זה מוסיף לשדה ID את הRECORDCOUNT+1.
news.asp

<html dir="rtl">
<head>
<%@ Language="VBScript" codepage=1255%>
<title>העדכון הוכנס בהצלחה</title></head>
<body>

<%

n = Request.form("news")
t = date()

Set oConn = Server.CreateObject("ADODB.Connection")
Set tableRs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\news.mdb;" & _
"Uid=admin;" & _
"Pwd=;"
choose= "Select * From table1"
tableRs.Open choose, oConn,3,3
id= tableRs.recordcount+1

mySQL = "Insert Into table1(myupdate,ddate,id) values('"&n&"','"&t&"','"&id&"')"
oConn.Execute(mySQL)
oConn.close
Set oConn= nothing
%>

העדכון הוכנס בהצלחה
<br>
<a href="http://users1.nofeehost.com/aviad/" target="n">הכנס לדף הבית</a>

</body></html>

הנה הדף ניהול-
dpanel5.asp


<html dir="rtl">
<head>
<%@ Language="VBScript" codepage=1255%>
<meta name="verify-v1" content="BnfsFfYT6nNW4AcnOhWGZAgtpjcsVw51ehnhYAKW5Lc=" />
<title></title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body background="panelpic/3D_adamant_enlemency.jpg">
<center>
<% If Session("pre")="ok" Then %>
<h1>הוסף עדכון</h1>
<br>
<form method="post" action="http://users1.nofeehost.com/aviad/db/news.asp">
<input type="text" name="news">
<br>
<input type="submit" value="הכנס עדכון">
</form>


<hr color="black">


<%
Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\news.mdb;" & _
"Uid=admin;" & _
"Pwd=;"

Set tableRs=Server.CreateObject("ADODB.Recordset")

mySql= "Select * From table1 ORDER BY ddate DESC"
tableRs.Open mySql, oConn,2,2
%>


<table border="1" cellpadding="4" bordercolor="black">
<tr bgcolor="#E4EAF2">
<td>עדכון</td>
<td>מחיקה</td>

<tr>

<% do until tableRs.eof %>
<% numid=tableRs.fields("id") %>
<tr>
<td bgcolor="silver"><% =tableRs.fields("myupdate") %></td>
<td bgcolor="silver"><a href='delete_update.asp?id="& numid &"'>מחק</a></td>


</tr>

<%
tableRs.Movenext
loop
%>
</table>


<%
oConn.Close
Set oConn= nothing
%>


<% Else %>

אין גישה.
האייפי שלך נשמר במאגר.

<%
ip= Request.ServerVariables("REMOTE_ADDR")

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\hackers.mdb;" & _
"Uid=admin;" & _
"Pwd=;"

mySQL = "Insert Into table1(ips) values('"&ip&"')"
oConn.Execute(mySQL)
oConn.close
Set oConn= nothing
%>

</center>
<% End If %>

</body>
</html>

הנה הדף מחיקה:

delete_update.asp


<html dir="rtl">
<head>
<%@ Language="VBScript" codepage=1255%>
<meta name="verify-v1" content="BnfsFfYT6nNW4AcnOhWGZAgtpjcsVw51ehnhYAKW5Lc=" />
<title></title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body background="panelpic/3D_adamant_enlemency.jpg">
<center>
<% If Session("pre")="ok" Then %>

<% del_update=Request.Querystring("id") %>
<%

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\news.mdb;" & _
"Uid=admin;" & _
"Pwd=;"

%>
<% Change= "DELETE From table1 WHERE id=('"&del_update&"')" %>

<%
oConn.Execute(Change)
oConn.close
Set oConn= nothing
%>
נמחק בהצלחה
<% Else %>


אין גישה.
האייפי שלך נשמר במאגר.

<%
ip= Request.ServerVariables("REMOTE_ADDR")

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq= D:\content\users1\aviad\db\hackers.mdb;" & _
"Uid=admin;" & _
"Pwd=;"

mySQL = "Insert Into table1(ips) values('"&ip&"')"
oConn.Execute(mySQL)
oConn.close
Set oConn= nothing
%>

</center>
<% End If %>

</body>
</html>


הבעיה היא שזה לא מציג לי בעיה, אבל זה עדיין לא מוחק את הרשומה.
ואין לי מושג למה =/...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   20:04   27.05.07   
אל הפורום  
  15. עשיתי הדפסה לdel_update וגילתי  
בתגובה להודעה מספר 14
 
   שזה משום מה מכיל את הערך
"
במקום מספר =/
זה כנראה ביגלל הדרך שליחה 'delete_update.asp?id="& numid &"'
יש למישהו מושג איך מתקנים את זה? :( :(


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   20:54   27.05.07   
אל הפורום  
  16. זהו!!! הצלחתי =]  
בתגובה להודעה מספר 15
 
   שמע אחי צריך להכניס "הדפיסה" בתוך הURL.
ככה:

<td bgcolor="silver"><a href="delete_update.asp?id=<% =numid %>">מחק</a></td>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net