Search code examples
asp-classic

Writing to a text file using ASP


Im totally new to ASP so any help would be very grateful. I have a html page which has a form for users to leave their details and when they submit it goes to a text file fine but what I want is once they have submitted it I want to have an alert saying "comment saved" and to stay on the original page so they can submit another if they choose but when the user submits it goes to a blank page. My Form is

<form method="post" action="comments.asp">
<br><br>
Age <input type="text" name="age" />
Name<textarea rows="1" cols="70" <input type="text" name="name" /></textarea> 
<input type="submit" value="Send Comment">
</form>

my comments.asp file code is

<%
Dim age, name
age = Request.Form("age")
name = Request.Form("name")
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.OpenTextFile("C:\Inetpub\wwwroot\Wiki\Comments.txt",8,true)
f.WriteLine(age & " " & date() & " " & name)
f.Close
set f=nothing
set fs=nothing
%>

Solution

  • namespace A6
    {
        public partial class imanik : System.Web.UI.Page
        {
            public class RedTabele {
                public string sifra { get; set; }
                public string ime { get; set; }
                public string prezime { get; set; }
                public string adresa { get; set; }
                public string mesto { get; set; }
                public string broj { get; set; }
                public string mail { get; set; }
            }
    
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!this.IsPostBack)
                {
                    // Lista za mesta
                    List<string> mesta = new List<string>();
    
                    using (StreamReader sr = new StreamReader(Server.MapPath("imenik.txt")))
                    {
                        string line;
                        while ((line = sr.ReadLine()) != null)
                        {
                            /* line = Шифра корисника | Име | Презиме | Адреса | Место | Број телефона | e-mail  */
                            string[] podeljeno = line.Split('|');
    
                            string mesto = podeljeno[4];
    
                            mesto = mesto.Trim();
    
                            mesta.Add(mesto);
    
    
    
                        }
                    }
    
                    List<string> bezDuplikata = mesta.Distinct().ToList();
                    for (int i = 0; i < bezDuplikata.Count; i++)
                    {
                        ListaMesto.Items.Add(bezDuplikata[i]);
                    }
                }
    
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                // sakri i ocisti table 
                Table1.Rows.Clear();
                Table1.Visible = false;
    
                // uzimanje podataka iz txtboxova
                string ime = txtIme.Text;
                string prezime = txtPrezime.Text;
                string adresa = txtAdresa.Text;
                string mesto = ListaMesto.Text;
                string br = txtTel.Text;
    
                // lista rezultata
                // Gore smo napravili klasu za ovo
                List<RedTabele> rezultati = new List<RedTabele>();
    
                using (StreamReader sr = new StreamReader(Server.MapPath("imenik.txt")))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        /* line = Шифра корисника | Име | Презиме | Адреса | Место | Број телефона | e-mail  */
                        string[] podeljeno = line.Split('|');
    
                        string sifraTXT = podeljeno[0];
                        string imeTXT = podeljeno[1];
                        string prezimeTXT = podeljeno[2];
                        string adresaTXT = podeljeno[3];
                        string mestoTXT = podeljeno[4];
                        string brTXT = podeljeno[5];
                        string mailTXT = podeljeno[6];
    
                        sifraTXT = sifraTXT.Trim();
                        imeTXT = imeTXT.Trim();
                        prezimeTXT = prezimeTXT.Trim();
                        adresaTXT = adresaTXT.Trim();
                        mestoTXT = mestoTXT.Trim();
                        brTXT = brTXT.Trim();
                        mailTXT = mailTXT.Trim();
    
    
                        bool ImeOk = true;
                        bool PrezimeOk = true;
                        bool AdresaOk = true;
                        bool MestoOk = true;
                        bool BrOk = true;
    
                        if (ime != "") {
                            ImeOk = imeTXT.StartsWith(ime);
                        }
    
                        if (prezime != "")
                        {
                            PrezimeOk = prezimeTXT.StartsWith(prezime);
                        }
    
                        if (adresa != "")
                        {
                            AdresaOk = adresaTXT.StartsWith(adresa);
                        }
    
                        if (br != "")
                        {
                            BrOk = brTXT.StartsWith(br);
                        }
    
                        if (mesto != mestoTXT)
                            MestoOk = false;
    
    
    
                        if (ImeOk && PrezimeOk && AdresaOk && MestoOk && BrOk)
                        {
                            rezultati.Add(new RedTabele { 
                                sifra = sifraTXT,
                                ime = imeTXT,
                                prezime = prezimeTXT,
                                adresa = adresaTXT,
                                mesto = mestoTXT,
                                broj = brTXT,
                                mail = mailTXT
                            });
                        }
    
    
                    }
    
                    // Create Table
                    TableRow naslovna = new TableRow();
                    Table1.Rows.Add(naslovna);
    
                    TableCell tdSifra = new TableCell();
                    tdSifra.Text = "Sifra";
    
                    TableCell tdIme = new TableCell();
                    tdIme.Text = "Ime";
    
                    TableCell tdPrezime = new TableCell();
                    tdPrezime.Text = "Prezime";
    
                    TableCell tdAdresa = new TableCell();
                    tdAdresa.Text = "Adresa";
    
                    TableCell tdMesto = new TableCell();
                    tdMesto.Text = "Mesto";
    
                    TableCell tdBroj = new TableCell();
                    tdBroj.Text = "Broj";
    
                    TableCell tdMail = new TableCell();
                    tdMail.Text = "Mail";
    
                    naslovna.Cells.Add(tdSifra);
                    naslovna.Cells.Add(tdIme);
                    naslovna.Cells.Add(tdPrezime);
                    naslovna.Cells.Add(tdAdresa);
                    naslovna.Cells.Add(tdMesto);
                    naslovna.Cells.Add(tdBroj);
                    naslovna.Cells.Add(tdMail);
                
    
                   
    
                    
                    for (int i = 0; i < rezultati.Count; i++) {
                        TableRow red = new TableRow();
    
                        TableCell sifraKol = new TableCell();
                        TableCell imeKol = new TableCell();
                        TableCell prezimeKol = new TableCell();
                        TableCell adresaKol = new TableCell();
                        TableCell mestoKol = new TableCell();
                        TableCell brojKol = new TableCell();
                        TableCell mailKol = new TableCell();
    
                        sifraKol.Text = rezultati[i].sifra;
                        imeKol.Text = rezultati[i].ime;
                        prezimeKol.Text = rezultati[i].prezime;
                        adresaKol.Text = rezultati[i].adresa;
                        mestoKol.Text = rezultati[i].mesto;
                        brojKol.Text = rezultati[i].broj;
                        mailKol.Text = rezultati[i].mail;
    
                        red.Controls.Add(sifraKol);
                        red.Controls.Add(imeKol);
                        red.Controls.Add(prezimeKol);
                        red.Controls.Add(adresaKol);
                        red.Controls.Add(mestoKol);
                        red.Controls.Add(brojKol);
                        red.Controls.Add(mailKol);
    
                        Table1.Rows.Add(red);
                    }
                   
    
                    Table1.Visible = true;
    
    
    
                }
            }
        }
    }

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    // Za tekstualne fajlove
    using System.IO;
    
    namespace A6
    {
        public partial class imanik : System.Web.UI.Page
        {
            public class RedTabele
            {
                public string sifra { get; set; }
    
            }
    
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!this.IsPostBack)
                {
    
                    List<string> mesta = new List<string>();
    
                    using (StreamReader sr = new StreamReader(Server.MapPath("imenik.txt")))
                    {
                        string line;
                        while ((line = sr.ReadLine()) != null)
                        {
    
                            string[] podeljeno = line.Split('|');
    
                            string mesto = podeljeno[4];
    
                            mesto = mesto.Trim();
    
                            mesta.Add(mesto);
    
    
    
                        }
                    }
    
                    List<string> bezDuplikata = mesta.Distinct().ToList();
                    for (int i = 0; i < bezDuplikata.Count; i++)
                    {
                        ListaMesto.Items.Add(bezDuplikata[i]);
                    }
                }
    
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
    
                Table1.Rows.Clear();
                Table1.Visible = false;
    
    
                string ime = txtIme.Text;
                string prezime = txtPrezime.Text;
                string adresa = txtAdresa.Text;
                string mesto = ListaMesto.Text;
                string br = txtTel.Text;
    
    
                List<RedTabele> rezultati = new List<RedTabele>();
    
                using (StreamReader sr = new StreamReader(Server.MapPath("imenik.txt")))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
    
                        string[] podeljeno = line.Split('|');
    
                        string sifraTXT = podeljeno[0];
    
    
                        sifraTXT = sifraTXT.Trim();
    
    
    
                        bool ImeOk = true;
                        bool PrezimeOk = true;
                        bool AdresaOk = true;
                        bool MestoOk = true;
                        bool BrOk = true;
    
                        if (ime != "")
                        {
                            ImeOk = imeTXT.StartsWith(ime);
                        }
    
    
    
    
    
                        if (ImeOk && PrezimeOk && AdresaOk && MestoOk && BrOk)
                        {
                            rezultati.Add(new RedTabele
                            {
                                sifra = sifraTXT,
    
                            });
                        }
    
    
                    }
    
                    // Create Table
                    TableRow naslovna = new TableRow();
                    Table1.Rows.Add(naslovna);
    
                    TableCell tdSifra = new TableCell();
                    tdSifra.Text = "Sifra";
    
    
    
                    naslovna.Cells.Add(tdSifra);
    
    
    
    
    
    
                    for (int i = 0; i < rezultati.Count; i++)
                    {
                        TableRow red = new TableRow();
    
                        TableCell sifraKol = new TableCell();
    
    
                        sifraKol.Text = rezultati[i].sifra;
    
    
                        red.Controls.Add(sifraKol);
    
    
                        Table1.Rows.Add(red);
                    }
    
    
                    Table1.Visible = true;
    
    
    
                }
            }
        }
    }