Poslao: 01 Sep 2008 11:48
|
offline
- Panonsky
- Verni jaran gazda Pece
- ... i pozdravite Vašu mamu...
- Mi smo sve podigli u ovom gradu.
- Pridružio: 20 Mar 2006
- Poruke: 3919
|
@Inenad: Nisam se pozvao na to. Ja sam samo kopirao tvoj kod, napravio par izmena za vrednosti i zatvorio kod ?>... Isprobaću ga još jednom. Hvala ti puno za trud i pomoć.
@karlos: Odlično, sve šljaka samo tako! To je ono što sam tražio! Jedina zamerka je što izbacuje noviju poruku ispod stare, odnosno stara poruka je na vrhu, a novija ispod nje. Jel bi moglo ovo da se isprogramira da idu obrnutim redom? Da idu obaveštenja od najnovijih pa do najstarijih od gore prema dole?
I da pitam, pošto nema opcije izmene posta, da li je moguće napraviti opciju brisanja? Pošto će biti obaveštenja koja vremenom zastare i ne treba da ih bude gomila tu... A kad sam kod vremena, nadam se da nije strašno napraviti da izbaci vreme obaveštenja pored naslova recimo? Mislim da je to samo jedan mali kodić, moram da ga potražim na netu, ali me zanima, da li ga samo stavim kod ispisa Naslova i to je to?
Response.Write ("<b>Naslov:</b> " & Naslov & " todaysDate,0<br>")
Recimo ovako nekako?
A što se tiče .dat fajla... Skontao sam da su različiti, ali ja mislio to tako treba...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 01 Sep 2008 19:25
|
offline
- karlos
- Građanin
- Pridružio: 25 Maj 2007
- Poruke: 114
- Gde živiš: Novi Sad, Sombor
|
Evo ga kod. Znaci, ima opcija brisanje, ima datum kad je poruka napisana, najnovija poruka je na vrhu, postoji maksimalno 20 poruka ( mada se ovaj broj moze povecati proizvoljno - dok ima memorije). Kad se unese 21. poruka, tada se najstarija poruka brise automatski, tako da se uvek pamti samo 20 najnovijih poruka.
Za one koji zele da vide kod:
<html><head><title>Formular</title></head>
<body>
<%
Dim FSO
Dim MyFile
Dim Datum(20)
Dim ImeAsistenta(20)
Dim Naslov(20)
Dim Obavestenje(20)
Dim Dopuna_ImeAsistenta
Dim Dopuna_Naslov
Dim Dopuna_Obavestenje
Dim Broj_Poruka
Dim Broj_Brisanje
'Ako smo pritisnuli taster
If Request.QueryString("OP")="Unos" Then
'Datum na serveru
Datum(20)=FormatDateTime(Date, 1)
'Ucitava iz forme podatke
ImeAsistenta(20)=Request.Form("ImeAsistenta")
Naslov(20)=Request.Form("Naslov")
Obavestenje(20)=Request.Form("Obavestenje")
'Ako su sva polja popunjena
If ImeAsistenta(20)<>"" And Naslov(20)<>"" And Obavestenje(20)<>"" Then
'Zamenjuje ENTER, tj. novi red sa <br>. Ovo je obavezno, jer moze doci do grekse
Obavestenje(20)=Replace(Obavestenje(20),chr(13)+chr(10),"<br>")
Call Ucitavanje_Fajla
Call Snimanje_Fajla
Else
'Ako nisu sva polja unesena, ispisuje poruku i prosledjuje unesene podatke nazad u formu, da se ne bi moralo ponovo unositi
Response.Write ("<br><center><font face='Verdana' size='3' color='#ff0000'>Greška ! Niste uneli sve podatke !</font></center><br><br>")
Dopuna_ImeAsistenta=ImeAsistenta(20)
Dopuna_Naslov=Naslov(20)
Dopuna_Obavestenje=Obavestenje(20)
End If
'Ako smo pritisnuli "Brisanje"
ElseIf Request.QueryString("OP")="Brisanje" Then
Broj_Brisanje=Request.QueryString("BROJ")*1
Call Ucitavanje_Fajla
Call Snimanje_Fajla2
End If
Call Ucitavanje_Fajla
Call Ispis
Sub Ucitavanje_Fajla
Dim i
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.OpenTextFile(server.MapPath(".") & "\obavestenja.txt",1, true)
i=0
Do While MyFile.AtEndOfStream = False
i=i+1
Datum(i)=MyFile.ReadLine
ImeAsistenta(i)=MyFile.ReadLine
Naslov(i)=MyFile.ReadLine
Obavestenje(i)=MyFile.ReadLine
Loop
Broj_Poruka=i
MyFile.Close
Set FSO=Nothing
End Sub
Sub Snimanje_Fajla
Dim i
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.OpenTextFile(server.MapPath(".") & "\obavestenja.txt",2, true)
'Najstarija poruka sa indeksom 20 se ne snima
If Broj_Poruka>=20 Then Broj_Poruka=19
MyFile.WriteLine (Datum(20))
MyFile.WriteLine (ImeAsistenta(20))
MyFile.WriteLine (Naslov(20))
MyFile.WriteLine (Obavestenje(20))
For i=1 To Broj_Poruka
MyFile.WriteLine (Datum(i))
MyFile.WriteLine (ImeAsistenta(i))
MyFile.WriteLine (Naslov(i))
MyFile.WriteLine (Obavestenje(i))
Next
MyFile.Close
Set FSO=Nothing
End Sub
Sub Snimanje_Fajla2
Dim i
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.OpenTextFile(server.MapPath(".") & "\obavestenja.txt",2, true)
For i=1 To Broj_Poruka
'Snima sve sem poruke koja se brise
If i<>Broj_Brisanje Then
MyFile.WriteLine (Datum(i))
MyFile.WriteLine (ImeAsistenta(i))
MyFile.WriteLine (Naslov(i))
MyFile.WriteLine (Obavestenje(i))
End If
Next
MyFile.Close
Set FSO=Nothing
End Sub
Sub Ispis
Dim i
Response.Write ("<hr>")
For i=1 To Broj_Poruka
Response.Write ("<b>Datum:</b> " & Datum(i) & "<br>")
Response.Write ("<b>Asistent:</b> " & ImeAsistenta(i) & "<br>")
Response.Write ("<b>Naslov:</b> " & Naslov(i) & "<br>")
Response.Write ("<b>Obaveštenje:</b><br> " & Obavestenje(i) & "<br>")
Response.Write ("<a style='text-decoration:none;' href='formular.asp?OP=Brisanje&BROJ=" & i & "'><b>Brisanje</b></a><br>")
Response.Write ("<hr>")
Next
End Sub
%>
Opis Predmeta
<form id="form1" name="form1" method="post" action="formular.asp?OP=Unos">
<table width="400" border="0">
<tr>
<td width="30%"><div align="right" class="style31">Asistent:</div></td>
<td width="70%"><input name="ImeAsistenta" type="text" size="30" maxlength="30" value="<%=Dopuna_ImeAsistenta%>" /></td>
</tr>
<tr>
<td width="30%"><div align="right" class="style31">Naslov:</div></td>
<td width="70%"><input name="Naslov" type="text" size="30" maxlength="30" value="<%=Dopuna_Naslov%>" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right" class="style31">Obaveštenje:</div></td>
<td width="70%"><textarea name="Obavestenje" cols="40" rows="5" ><%=Dopuna_Obavestenje%></textarea></td>
</tr>
<tr>
<td width="30%"> </td>
<td width="70%"><input type="submit" name="Taster" value="Pošalji" /></td>
</tr>
</table>
</form>
</body>
formular.asp
mycity.rs/must-login.png
Modifikacija poruke nema, ali nije problem da se napravi.
|
|
|
|
|
Poslao: 01 Sep 2008 20:09
|
offline
- karlos
- Građanin
- Pridružio: 25 Maj 2007
- Poruke: 114
- Gde živiš: Novi Sad, Sombor
|
Mislim da znam sta je problem.
Treba da obrises stari fajl obavestenja.txt
Stari fajl je za svaku poruku imao po tri reda
ImeAsistenta(i)=MyFile.ReadLine
Naslov(i)=MyFile.ReadLine
Obavestenje(i)=MyFile.ReadLine
a novi ima 4 reda.
Datum(i)=MyFile.ReadLine
ImeAsistenta(i)=MyFile.ReadLine
Naslov(i)=MyFile.ReadLine
Obavestenje(i)=MyFile.ReadLine
Probaj pa javi.
|
|
|
|
Poslao: 01 Sep 2008 23:08
|
offline
- Panonsky
- Verni jaran gazda Pece
- ... i pozdravite Vašu mamu...
- Mi smo sve podigli u ovom gradu.
- Pridružio: 20 Mar 2006
- Poruke: 3919
|
Da, u pravu si... Ja sam i obrisao obavestenja.txt, ali sam ovaj najnoviji kod nazvao formular1.asp. A on je i dalje slao na formular.asp... Tako da je to doprinelo zbrci...
Ispravljeno i radi odlično. Mislim da je to manje više to. Sada ja sam moram da namestim da samo administrator i moderatori imaju pristup formularu i linku za brisanje obaveštenja...
Hvala ti puno kraza (šta sam dužan?), kao i svima koji su učestvovali. Ako bude frka - javljam vam se!
Dopuna: 01 Sep 2008 23:08
Heh, sad sam razmišljao još malo o ovom mom zadatku... Javlja se sledeći problem, koji možda to i nije, ali haj da vas čujem...
Napravili smo, tj napravio je karlos, onaj formular.asp koji radi tačno ono što mi treba. E sad, fazon je da meni treba takav fajl za svaki predmet! Ovo formular.asp je za jedan predmet, ali na fakultetu imam brdo predmeta i svaki treba da ima svoja obaveštenja sa opisom predmeta. Kako ovo najlakše rešiti?
Evo nekog mog nabrzaka razmišljanja.
a) promenim ime formular.asp u ime_predmeta.asp i tamo u kodu, gde je form action stavim umesto formular.asp -> ime_predmeta.asp. Onda bih najverovatnije morao da promenim i obavestenja.txt u recimo ime_predmeta.txt, da se ne bi sva obaveštenja iz svih predmeta pojavljivala kod svih predmeta. Ili možda iskoristim neko filtriranje podataka, kao u prvom karlosovom postu, ono zadnje
Dim Kljucna_Rec
b) možda da napravim neki fajl koji će biti univerzalan za sve, kad se šalje obaveštenje, recimo da to bude formular.asp, a da se onda samo poziva ispisivanje za odgovarajući predmet.
Jel ima smisla moje razmišljanje? Izvodljivo? Možda bi najidealnije bilo da se ovo reši preko databaze, ali pošto nisam uspeo da se izborim ni sa običnom formom, databaza otpada... Ili da krenem da učim databaze (ili da se nađe neka izuzetno dobra duša da to možda napravi za mene, ako nije puno posla, ja stvarno ne znam).
Hajde, savetujte me.
|
|
|
|
Poslao: 02 Sep 2008 02:00
|
offline
- karlos
- Građanin
- Pridružio: 25 Maj 2007
- Poruke: 114
- Gde živiš: Novi Sad, Sombor
|
E, ovako:
a) mislim da ima previse predmeta ( ne znam kod tebe, ali kod mene na faksu postoji nekoliko stotina predmeta ) , da bi se tako koristilo. Zamisli situaciju da se cesto pojavljuju novi predmeti (novi smerovi), morao bi za svaki novi predmet da pravis posebno ASP fajl.
b) evo resenja:
Napravi se uvodna stranica npr: pocetna.asp ( po pravilu bi trebalo index.asp ili default.asp, ali su one verovatno vec zauzeta glavnom stranicom )
<html><head>
<style type="text/css">
a:link {color: #0000ff;}
a:visited {color: #0000ff;}
a:hover {color: #008800;}
</style>
<title>Predmeti</title></head>
<body>
<a style='text-decoration:none;' href='formular.asp?PREDMET=Mat1'><b>1. Matematika 1</b></a>
<br>
<a style='text-decoration:none;' href='formular.asp?PREDMET=Mat2'><b>2. Matematika 2</b></a>
<br>
<a style='text-decoration:none;' href='formular.asp?PREDMET=Eng'><b>3. Engleski Jezik</b></a>
<br>
<a style='text-decoration:none;' href='formular.asp?PREDMET=Fiz'><b>4. Fizika</b></a>
<br>
<a style='text-decoration:none;' href='formular.asp?PREDMET=Hem'><b>5. Hemija</b></a>
<br>
<a style='text-decoration:none;' href='formular.asp?PREDMET=Inf'><b>6. Informatika</b></a>
<br>
</body>
</html>
koja poziva formular.asp prosledjujuci mu naziv predmeta.
Ako se pojavi novi predmet, mnogo je lakse dodati jedan red nego ceo fajl. Jos bolja varijanta bi bila da se predmeti mogu unositi/brisati isto kao obavestenja. Takodje ih cuvati u nekom fajlu.
Izmenjeni formular.asp i pocetna.asp se nalaze u arhivi predmeti.rar
mycity.rs/must-login.png
|
|
|
|