Ankündigung

Einklappen
Keine Ankündigung bisher.

Gästebuch - verschiedene Fragen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gästebuch - verschiedene Fragen

    Hallo zusammen,

    bin relativ in Sachen Programmierung unterwegs.

    Ich have versucht ein Gästebuch aufzubauen und die eingegebenen Daten direkt in eine Datenbank zu speichern. Es klappt auch alles, nur habe ich noch folgende Probleme

    1. ich möchte, dass die Bilder unter dem aktuellen Datum (datetotime.now) gespeichert werden und nicht unter dem Bildernamen - so sollen doppelte Namen (z.B. ich.jpg) vermieden werden. Wie schaffe ich das?

    2. Der Platz für den freien Text soll auf ca 40 Zeichen je Zeile begrenzt sein (Versuch über colums), man kann aber mehr schreiben, wodurch der Anfangstext nicht mehr zu sehen ist

    3. Habe versucht mit dem required filed validator zu arbeiten, das ganze wirkt nicht so richtig intelligent. Oder ist es okay so? Klappen tut es zumindest.

    Danke für die Hilfe!

    Sub speichern(ByVal sender As Object, ByVal e As EventArgs)

    Dim cmd As OleDbCommand
    Dim sqlInsert As String
    Dim dateiname As String
    dateiname = ""

    ' Upload der Datei
    If FileUpload1.HasFile Then
    ' es wurde eine Datei ausgewählt und ich versuche die Datei
    ' hochzuladen und zu speichern
    dateiname = FileUpload1.FileName
    Try
    FileUpload1.SaveAs("c:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\NAK\Informatik\Semesterarbeit\Upload\" & dateiname)
    Catch ex As Exception
    ausgabe.InnerHtml = "ERROR: " & ex.Message.ToString()
    End Try
    Else
    ' keine Datei zum Hochladen ausgewählt
    ' also tue nichts
    End If
    ' SQLInsert
    sqlInsert = "insert into gaestebuch (name, email, webseite,"
    sqlInsert = sqlInsert & " nachricht, datum, file) values ('"
    sqlInsert = sqlInsert & name.Text
    sqlInsert = sqlInsert & "', '"
    sqlInsert = sqlInsert & email.Text
    sqlInsert = sqlInsert & "', '"
    sqlInsert = sqlInsert & webseite.Text
    sqlInsert = sqlInsert & "', '"
    sqlInsert = sqlInsert & nachricht.Text
    sqlInsert = sqlInsert & "', '"
    sqlInsert = sqlInsert & DateTime.Now.ToString
    sqlInsert = sqlInsert & "','" & dateiname & "')"

    Dim db As String
    db = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\NAK\Informatik\Semesterarbeit\gaestebuch.m db;"

    Dim conn As New OleDbConnection(db)

    conn.Open()
    cmd = New OleDbCommand(sqlInsert, conn)
    cmd.ExecuteNonQuery()
    ausgabe.InnerHtml = "<b>Eingabe gespeichert</b>"
    conn.Close()
    End Sub


    </script>
    <asp:Content ID="Content1" ContentPlaceHolderID="Inhalt" Runat="Server">

    <form id="form1" runat="server">
    <h1>Bitte tragen Sie sich ins G&auml;stebuch ein!</h1>
    <div style="background-color:Gray">

    <table width="75%">
    <tr><td width="15%">Name<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="name" runat="server" TextMode="SingleLine" BorderStyle="Double" Columns="40"></asp:TextBox></td></tr>
    <tr><td width="15%">&nbsp;</td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="name" ErrorMessage="Bitte einen Namen eingeben"></asp:RequiredFieldValidator></td></tr>
    <tr><td width="15%">E-Mail<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="email" runat="server" BorderStyle="Double" Columns="40" > </asp:TextBox><asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="email" ValidationExpression=".+@.+\.[a-z]{2,}" ErrorMessage="Keine korrekte E-Mail-Adresse." /></td></tr>
    <tr><td width="15%">&nbsp;</td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="email" ErrorMessage="Bitte eine E-Mail eingeben"></asp:RequiredFieldValidator><br /></td></tr>
    <tr><td width="15%">Webseite </td><td width="85%"><asp:TextBox ID="webseite" runat="server" BorderStyle="Double" Columns="40" > </asp:TextBox></td></tr><br />
    <tr><td width="15%">&nbsp;</td><td width="85%">&nbsp;</td></tr>
    <tr><td width="15%">Text<Fussnote>*</Fussnote>: </td><td width="85%"><asp:TextBox ID="nachricht" runat="server" TextMode="MultiLine" Rows="5" BorderStyle="Double" Columns="38" ></asp:TextBox></td></tr>
    <tr><td width="15%">&nbsp;</td><td><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="nachricht" ErrorMessage="Bitte eine Nachricht eingeben"></asp:RequiredFieldValidator></td></tr>
    <tr><td width="15%">Bild hochladen:</td><td width="85%"><asp:FileUpload ID="FileUpload1" runat="server" /></td><tr>
    <tr><td width="15%">&nbsp;</td><td width="85%">&nbsp;</td></tr>
    <tr><td width="15%">&nbsp;</td>
    <td width="85%"><asp:Button ID="Button1" runat="server" Text="Eintragen" OnClick="speichern" />
    <input id="Reset1" type="reset" value="Angaben löschen" /></td></tr>
    </table>
    <br />
    <Fussnote>* Pflichtfeld</Fussnote>
    </div>
    </form>
    <br />
    <a href="gb_anzeigen.aspx">Zur&uuml;ck zum G&auml;estebuch</a>


    <span id="ausgabe" runat="server"></span>
    </asp:Content>

  • #2
    Hallo,

    dein Code hat irgendwie recht wenig mit PHP und auch mit Datenbanken zu tun, richtig?

    1. ich möchte, dass die Bilder unter dem aktuellen Datum (datetotime.now) gespeichert werden und nicht unter dem Bildernamen - so sollen doppelte Namen (z.B. ich.jpg) vermieden werden. Wie schaffe ich das?
    -> einfach umbenennen?!

    2. Der Platz für den freien Text soll auf ca 40 Zeichen je Zeile begrenzt sein (Versuch über colums), man kann aber mehr schreiben, wodurch der Anfangstext nicht mehr zu sehen ist
    -> wordwrap() oder substr()

    3. Habe versucht mit dem required filed validator zu arbeiten, das ganze wirkt nicht so richtig intelligent. Oder ist es okay so? Klappen tut es zumindest.
    -> siehe oben.

    Kommentar

    Lädt...
    X