T
tommy20
Gast
Hi weis jemand wo da bitte en Fehler ist
Immer wenn ich versuche einen namen einzugeben im Formular bekomm ich einen Fehler weis aber echt net an was es liegen könnte!!Alos ich möchte einfach Zugang auf eine Seite ermöglich in dem man sich als Kunde einloggt.
Ich zeigs euch mal:
Das ist meine INDEX.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="eintragendb.jsp" method="post">
Ihr Pseudonym
<input type="text" name="pseudonym" size="10" maxlength="10" /></p>
Ihr Passwort
<input type="password" name="passwort" maxlength="6" /></p>
<input type="submit" name="druckknopfanmelden" value="Anmelden" />
</form>
</body>
</html>
Meine lesenDB:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Lesen einer Datenbank </title>
</head>
<body>
Inhalt der benutzer-Datenbank</p>
<table border = "1" cellpadding="0" cellspacing="0">
<tr>
<td>Benutzer NR</td>
<td>Pseudonym</td>
<td>Passwort</td>
</tr>
<jsp:useBean id="eineDB" class="DB.DBZugriff"/>
<%java.sql.ResultSet tabelleBenutzer = eineDB.leseDB();
while ( tabelleBenutzer.next()) // Durchlaufen der Tabelle
{
String benutzernr = tabelleBenutzer.getString("BENUTZERNR");
String pseudonym = tabelleBenutzer.getString("PSEUDONYM");%>
<tr>
<td><%=benutzernr %></td>
<td><%=pseudonym %></td>
<td><%=tabelleBenutzer.getString("PASSWORT") %></td>
</tr>
<%}// Ende der Schleife %>
</table>
</body>
</html>
3. Meine eintragen DB
<%@ page contentType="text/html; charset=iso-8859-1" language="java" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<% String pseudonym = request.getParameter("pseudonym");
String passwort = request.getParameter("passwort");%>
Pseudonym: <%=pseudonym%>
Passwort: <%=passwort%>
<jsp:useBean id="eineDB" class="DB.DBZugriff" scope="application"/>
<%eineDB.schreibeDB(pseudonym,passwort);%>
Datenbankinhalt anzeigen
</body>
</html>
Und zu guter letzt mein DB Zugriff:
package DB;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import com.mysql.jdbc.ResultSet;
public class DBZugriff {
private java.sql.Connection dieVerbindung;
//Konstruktor
public DBZugriff()
{
try
{ // Die verbindung zur DB wird aufgebaut
// Erzeuge, laden und registrieren des Treibers
// Der Name des Treibers lautet org.gjt.mm.mysql.Driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Hole eines Connection Objects
//die DB heißt dbbenutzer
dieVerbindung = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/dbbenutzer","","");
}
catch (ClassNotFoundException e1)
{
System.out.println ("ClassNotFoundException:"+ e1.getMessage());
}
catch(InstantiationException e2){
System.out.println("InstantiationException:"+ e2.getMessage());
}
catch(java.sql.SQLException e3)
{
System.out.println("SQLException:"+ e3.getMessage());
}
catch(IllegalAccessException e4)
{
System.out.println("IllegalAccessException "+ e4.getMessage());
}
}
// Lesende Operation
public java.sql.ResultSet leseDB()
{
java.sql.Statement statement;
// Liefere Tabelle
java.sql.ResultSet tabelle;
try
{
// Abfrage der DB
statement = dieVerbindung.createStatement();
//Ausführen der SQL Anweisung
tabelle = statement.executeQuery("Select * FROM Benutzer");
// Rückgabe des Ergebnisses vom Typ ResultSet
return tabelle;
}
catch (java.sql.SQLException e3)
{
System.out.println ("SQLException:" + e3.getMessage());
}
return null;
}
//Schreibene Operationen
public synchronized void schreibeDB(String pseudonym,String passwort)
{
String benutzernrString = "Leer";
int benutzernr = 0;
java.sql.Statement statement = null;
java.sql.ResultSet tabelle = null;
try {
//Statement erzeugen
statement = dieVerbindung.createStatement();
// Operation ausführen
tabelle = statement.executeQuery("SELECT MAX ( BENUTZERNR)FROM BENUTZER");
// Zeiger auf 1. Element positionieren
tabelle.next();
// 1. Element der 1. Spalte lesen
benutzernr = tabelle.getInt(1);
// benutzernr um 1 erhöhen
benutzernr++;
benutzernrString = Integer.toString(benutzernr);
// neuen Eintrag im String values zwischenspeichern
String insert = "INSERT INTO benutzer ( BENUTZERNR,PSEUDONYM, PASSWORT)";
// neuen Wert in Stringvaules zwischenspeichern
String values = "VALUES('" + benutzernrString + "','" + pseudonym + "','" + passwort + "')";
// DB Operationen ausführen d.h. Daten in Tabelle eintragen
statement.executeUpdate(insert + values);
}
catch (java.sql.SQLException e3)
{
System.out.println("SQLException:" + e3.getMessage());
}
finally
{
// DIe Close Operation kann ebenfalls eine Ausnahme erzeugen
try {
tabelle.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
MYSQL DB ist folgende :
-
-- Datenbank: `
dbbenutzer`
--
-- --------------------------------------------------------
--
--
Tabellenstruktur für Tabelle `benutzer`
--
CREATE TABLE `benutzer`
(
`benutzernr` int(11) NOT NULL,
`pseudonym` varchar(10) collate latin1_general_ci NOT NULL,
`passwort` varchar(6) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`benutzernr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Daten für Tabelle `benutzer`
--
INSERT INTO `benutzer`
(`benutzernr`, `pseudonym`, `passwort`) VALUES
(1, ' alex', 'test'),
(2, ' wilmer', 'test2'),
(3, ' tom', 'test3');
Immer wenn ich versuche einen namen einzugeben im Formular bekomm ich einen Fehler weis aber echt net an was es liegen könnte!!Alos ich möchte einfach Zugang auf eine Seite ermöglich in dem man sich als Kunde einloggt.
Ich zeigs euch mal:
Das ist meine INDEX.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="eintragendb.jsp" method="post">
Ihr Pseudonym
<input type="text" name="pseudonym" size="10" maxlength="10" /></p>
Ihr Passwort
<input type="password" name="passwort" maxlength="6" /></p>
<input type="submit" name="druckknopfanmelden" value="Anmelden" />
</form>
</body>
</html>
Meine lesenDB:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Lesen einer Datenbank </title>
</head>
<body>
Inhalt der benutzer-Datenbank</p>
<table border = "1" cellpadding="0" cellspacing="0">
<tr>
<td>Benutzer NR</td>
<td>Pseudonym</td>
<td>Passwort</td>
</tr>
<jsp:useBean id="eineDB" class="DB.DBZugriff"/>
<%java.sql.ResultSet tabelleBenutzer = eineDB.leseDB();
while ( tabelleBenutzer.next()) // Durchlaufen der Tabelle
{
String benutzernr = tabelleBenutzer.getString("BENUTZERNR");
String pseudonym = tabelleBenutzer.getString("PSEUDONYM");%>
<tr>
<td><%=benutzernr %></td>
<td><%=pseudonym %></td>
<td><%=tabelleBenutzer.getString("PASSWORT") %></td>
</tr>
<%}// Ende der Schleife %>
</table>
</body>
</html>
3. Meine eintragen DB
<%@ page contentType="text/html; charset=iso-8859-1" language="java" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<% String pseudonym = request.getParameter("pseudonym");
String passwort = request.getParameter("passwort");%>
Pseudonym: <%=pseudonym%>
Passwort: <%=passwort%>
<jsp:useBean id="eineDB" class="DB.DBZugriff" scope="application"/>
<%eineDB.schreibeDB(pseudonym,passwort);%>
Datenbankinhalt anzeigen
</body>
</html>
Und zu guter letzt mein DB Zugriff:
package DB;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import com.mysql.jdbc.ResultSet;
public class DBZugriff {
private java.sql.Connection dieVerbindung;
//Konstruktor
public DBZugriff()
{
try
{ // Die verbindung zur DB wird aufgebaut
// Erzeuge, laden und registrieren des Treibers
// Der Name des Treibers lautet org.gjt.mm.mysql.Driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Hole eines Connection Objects
//die DB heißt dbbenutzer
dieVerbindung = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/dbbenutzer","","");
}
catch (ClassNotFoundException e1)
{
System.out.println ("ClassNotFoundException:"+ e1.getMessage());
}
catch(InstantiationException e2){
System.out.println("InstantiationException:"+ e2.getMessage());
}
catch(java.sql.SQLException e3)
{
System.out.println("SQLException:"+ e3.getMessage());
}
catch(IllegalAccessException e4)
{
System.out.println("IllegalAccessException "+ e4.getMessage());
}
}
// Lesende Operation
public java.sql.ResultSet leseDB()
{
java.sql.Statement statement;
// Liefere Tabelle
java.sql.ResultSet tabelle;
try
{
// Abfrage der DB
statement = dieVerbindung.createStatement();
//Ausführen der SQL Anweisung
tabelle = statement.executeQuery("Select * FROM Benutzer");
// Rückgabe des Ergebnisses vom Typ ResultSet
return tabelle;
}
catch (java.sql.SQLException e3)
{
System.out.println ("SQLException:" + e3.getMessage());
}
return null;
}
//Schreibene Operationen
public synchronized void schreibeDB(String pseudonym,String passwort)
{
String benutzernrString = "Leer";
int benutzernr = 0;
java.sql.Statement statement = null;
java.sql.ResultSet tabelle = null;
try {
//Statement erzeugen
statement = dieVerbindung.createStatement();
// Operation ausführen
tabelle = statement.executeQuery("SELECT MAX ( BENUTZERNR)FROM BENUTZER");
// Zeiger auf 1. Element positionieren
tabelle.next();
// 1. Element der 1. Spalte lesen
benutzernr = tabelle.getInt(1);
// benutzernr um 1 erhöhen
benutzernr++;
benutzernrString = Integer.toString(benutzernr);
// neuen Eintrag im String values zwischenspeichern
String insert = "INSERT INTO benutzer ( BENUTZERNR,PSEUDONYM, PASSWORT)";
// neuen Wert in Stringvaules zwischenspeichern
String values = "VALUES('" + benutzernrString + "','" + pseudonym + "','" + passwort + "')";
// DB Operationen ausführen d.h. Daten in Tabelle eintragen
statement.executeUpdate(insert + values);
}
catch (java.sql.SQLException e3)
{
System.out.println("SQLException:" + e3.getMessage());
}
finally
{
// DIe Close Operation kann ebenfalls eine Ausnahme erzeugen
try {
tabelle.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
MYSQL DB ist folgende :
-
-- Datenbank: `
dbbenutzer`
--
-- --------------------------------------------------------
--
--
Tabellenstruktur für Tabelle `benutzer`
--
CREATE TABLE `benutzer`
(
`benutzernr` int(11) NOT NULL,
`pseudonym` varchar(10) collate latin1_general_ci NOT NULL,
`passwort` varchar(6) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`benutzernr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Daten für Tabelle `benutzer`
--
INSERT INTO `benutzer`
(`benutzernr`, `pseudonym`, `passwort`) VALUES
(1, ' alex', 'test'),
(2, ' wilmer', 'test2'),
(3, ' tom', 'test3');