Originally posted by combie
View Post
Forumalausgabe aus mysql datenbankproblem
Collapse
X
-
Ich dachte zwar, dass der extra gut zu finden sein müsste, aber für dich nochmal hier: PHP script resource - Ankündigungen im Forum : PHP Developer Forum[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Comment
-
Originally posted by onemorenerd View PostWir haben hier gewisse Regeln. In 5 Minuten hat man die gelesen. Wenn dir das zu viel ist, dann suche dir bitte ein anderes Forum wo du dich benehmen kannst wie die Axt im Walde. Wir behandeln uns hier mit dem gebührenden Respekt. Dazu gehört, dass der Hilfesuchende den Helfern entgegenkommt so gut er kann.
So, und nun bitte folgen:
PHP script resource - Ankündigungen im Forum : PHP Developer Forum
PHP Developer Forum - PHP script resource (die mit "Wichtig" markierten Threads)
Comment
-
Fangen wir mal hiermit an:
Nutzt [PHP]-Tags
Um euren Quelltext farblich zu formatieren fügt bitte vor dem Quelltext ein
Comment
-
Für so ein trivial Problem 2 Threads?
Warum?
------
Und dieses:
Mache doch bitte erstmal ein paar Tutorials.
Dann klärt sich das von selber.
Nein, aber du brauchst die PHP/MySQL Grundlagen um die Antworten überhaupt verstehen zu können.
----------
Wenn du deinen Code nicht mit den PHP Tags formatierst wird sich den auch wohl niemand anschauen. Je professioneller die Helfer, desto ehr werden sie solche Beiträge ignorieren.
-----------
Jetzt etwas klarer?
Comment
-
Originally posted by combie View PostCross, bzw. Multipostings werden in Foren nicht gerne gesehen.
------
Und dieses:
Gehört zu:
Und ja, ohne den Willen zu lernen, wirst du hier nicht weit kommen.
----------
Wenn du deinen Code nicht mit den PHP Tags formatierst wird sich den auch wohl niemand anschauen. Je professioneller die Helfer, desto ehr werden sie solche Beiträge ignorieren.
-----------
Jetzt etwas klarer?
Comment
-
PHP Code:<!-- Hier fehlt der Doctype. -->
<html><head>
<title>Personenporfil anmeldungsgest</title>
<link href="xampp.css" rel="stylesheet" type="text/css"></head>
<body> <!-- Wozu dieses Leerzeichen? -->
<? // short_open_tags sollte man nicht benutzen!
if(!mysql_connect("localhost","root",""))
{
echo "<h2>Error</h2>";
die(); // in diesem Fall ist die Ausgabe kein vollständiges HTML-Dokument
}
mysql_select_db("profile");
?></table>
<!-- Parameter gehören in Anführungszeichen -->
<h2>Registrieren</h2><form action=profiltest.php method=get><table border=0 cellpadding=0 cellspacing=0>
<tr><td>Benutzername<td>:</td><td><input type=text size=30 name=username></td></tr>
<tr><td>Sender<td>:</td><td> <input type=text size=30 name=sender></td></tr>
<tr><td>Starzeit<td>:</td><td> <input type=text size=30 name=startzeit></td></tr>
<tr><td>Wochentag<td>:</td><td> <input type=text size=30 name=wochentag></td></tr>
<!-- Woher kommt $size1? -->
<tr><td>test<input type='text' name='rufnummer' style='width:$size1;' value='' MAXLENGTH='5' size="10">
<tr><td></td><td><td><input type=submit border=0 value="Bestätigen"></td></tr></table>
</form>
</body></html>PHP Code:<!-- Wieder kein Doctype, nicht mal <html> -->
<title>dies soll das einzelProfil werden nach Anmeldung</title>
<body> <center><h1>Daten alle korrekt ?</h1>
<?
if(!mysql_connect("localhost","root",""))
{
echo "<h2>Error, Es kann keine Verbindung zur DB hergestellt werden </h2>";
die();
}
mysql_select_db("profile");
?>
<table bgcolor=#f878a0 border=0 cellpadding=0 cellspacing=0>
<?
// Verwende isset() ... für alle keys! -->
if($_REQUEST['username']!="")
{
// Woher soll $date kommen? Wozu überhaupt, du benutzt doch NOW()?
if($date=="")$date="NULL";
$sender=htmlentities($_REQUEST['sender']);
$username=htmlentities($_REQUEST['username']);
$startzeit=htmlentities($_REQUEST['startzeit']);
$wochentag=htmlentities($_REQUEST['wochentag']);
// Woher soll $id kommen?
// Semikolon am Ende der Query ist syntaktisch falsch.
mysql_query("INSERT INTO profil (id,username,sender,startzeit,wochentag,date) VALUES('$id','$username','$sender','$startzeit','$wochentag',NOW());");}
// Wieder isset() verwenden!
if($_REQUEST['action']=="del")
{
// Wieder ein Semikolon zu viel.
// SQL-Injection! Gefährlich!
mysql_query("DELETE FROM profil WHERE id={$_REQUEST['id']};"); }
// Semikolon!
$result=mysql_query("SELECT id,username,sender,startzeit,wochentag,date FROM profil ORDER BY id;");
while( $row=mysql_fetch_array($result) )
// Was soll der leere Klammer-Block?
{ { }
// HTML-Tabellen werden anders aufgebaut. Stichwort table head.
echo "<tr><td>Registrier Nr.</b></td>";
echo "<td>".$row['id']."</td>";
echo "<tr><td><b>Benutzername :</b></td>";
// Wozu diese Leerzeichen?
echo "<td><b> ".$row['username']."</b></td>";
echo "<tr><td><b>Wohnort :</b></td>";
echo "<td>".$row['sender']." </td>";
echo "<tr><td><b>Startzeit :</b></td>";
echo "<td>".$row['startzeit']." </td>";
echo "<tr><td><b>Wochentag :</b></td>";
echo "<td>".$row['wochentag']." </td>";
echo "<tr><td><b>Anmeldung :</b></td>";
echo "<td>".$row['date']." ";
echo "<tr><td><b>Test :</b></td>";
echo "<td>".$row['test']." ";
echo "<td><a onclick=\"return confirm('Sicher ?');\" href=profiltest.php?action=del&id=".$row['id']."><span class=red>[Ja]</span></a></td>";
echo "<td></td>";
echo "</tr>";
}
?>
</table></body></html>[
Comment
-
Originally posted by onemorenerd View PostPHP Code:<!-- Hier fehlt der Doctype. -->
<html><head>
<title>Personenporfil anmeldungsgest</title>
<link href="xampp.css" rel="stylesheet" type="text/css"></head>
<body> <!-- Wozu dieses Leerzeichen? -->
<? // short_open_tags sollte man nicht benutzen!
if(!mysql_connect("localhost","root",""))
{
echo "<h2>Error</h2>";
die(); // in diesem Fall ist die Ausgabe kein vollständiges HTML-Dokument
}
mysql_select_db("profile");
?></table>
<!-- Parameter gehören in Anführungszeichen -->
<h2>Registrieren</h2><form action=profiltest.php method=get><table border=0 cellpadding=0 cellspacing=0>
<tr><td>Benutzername<td>:</td><td><input type=text size=30 name=username></td></tr>
<tr><td>Sender<td>:</td><td> <input type=text size=30 name=sender></td></tr>
<tr><td>Starzeit<td>:</td><td> <input type=text size=30 name=startzeit></td></tr>
<tr><td>Wochentag<td>:</td><td> <input type=text size=30 name=wochentag></td></tr>
<!-- Woher kommt $size1? -->
<tr><td>test<input type='text' name='rufnummer' style='width:$size1;' value='' MAXLENGTH='5' size="10">
<tr><td></td><td><td><input type=submit border=0 value="Bestätigen"></td></tr></table>
</form>
</body></html>PHP Code:<!-- Wieder kein Doctype, nicht mal <html> -->
<title>dies soll das einzelProfil werden nach Anmeldung</title>
<body> <center><h1>Daten alle korrekt ?</h1>
<?
if(!mysql_connect("localhost","root",""))
{
echo "<h2>Error, Es kann keine Verbindung zur DB hergestellt werden </h2>";
die();
}
mysql_select_db("profile");
?>
<table bgcolor=#f878a0 border=0 cellpadding=0 cellspacing=0>
<?
// Verwende isset() ... für alle keys! -->
if($_REQUEST['username']!="")
{
// Woher soll $date kommen? Wozu überhaupt, du benutzt doch NOW()?
if($date=="")$date="NULL";
$sender=htmlentities($_REQUEST['sender']);
$username=htmlentities($_REQUEST['username']);
$startzeit=htmlentities($_REQUEST['startzeit']);
$wochentag=htmlentities($_REQUEST['wochentag']);
// Woher soll $id kommen?
// Semikolon am Ende der Query ist syntaktisch falsch.
mysql_query("INSERT INTO profil (id,username,sender,startzeit,wochentag,date) VALUES('$id','$username','$sender','$startzeit','$wochentag',NOW());");}
// Wieder isset() verwenden!
if($_REQUEST['action']=="del")
{
// Wieder ein Semikolon zu viel.
// SQL-Injection! Gefährlich!
mysql_query("DELETE FROM profil WHERE id={$_REQUEST['id']};"); }
// Semikolon!
$result=mysql_query("SELECT id,username,sender,startzeit,wochentag,date FROM profil ORDER BY id;");
while( $row=mysql_fetch_array($result) )
// Was soll der leere Klammer-Block?
{ { }
// HTML-Tabellen werden anders aufgebaut. Stichwort table head.
echo "<tr><td>Registrier Nr.</b></td>";
echo "<td>".$row['id']."</td>";
echo "<tr><td><b>Benutzername :</b></td>";
// Wozu diese Leerzeichen?
echo "<td><b> ".$row['username']."</b></td>";
echo "<tr><td><b>Wohnort :</b></td>";
echo "<td>".$row['sender']." </td>";
echo "<tr><td><b>Startzeit :</b></td>";
echo "<td>".$row['startzeit']." </td>";
echo "<tr><td><b>Wochentag :</b></td>";
echo "<td>".$row['wochentag']." </td>";
echo "<tr><td><b>Anmeldung :</b></td>";
echo "<td>".$row['date']." ";
echo "<tr><td><b>Test :</b></td>";
echo "<td>".$row['test']." ";
echo "<td><a onclick=\"return confirm('Sicher ?');\" href=profiltest.php?action=del&id=".$row['id']."><span class=red>[Ja]</span></a></td>";
echo "<td></td>";
echo "</tr>";
}
?>
</table></body></html>
Ich will nur die zuletzt eingegebenen Info auf der Ausgabeseite und nicht sämtliche Daten.
Comment
-
ok, noch einmal
es funktioniert mit auflistung aller je eingegebenen Daten
Eingabe :
<html><head>
<title>Personenporfil anmeldungsgest</title>
<link href="xampp.css" rel="stylesheet" type="text/css"></head>
<body>
<?
if(!mysql_connect("localhost","root",""))
{
echo "<h2>Error</h2>";
die();
}
mysql_select_db("profile");
?></table>
<h2>Registrieren</h2><form action=profiltest2.php method=get><table border=0
cellpadding=0 cellspacing=0>
<tr><td>Benutzername<td>:</td><td><input type=text size=30
name=username></td></tr>
<tr><td>Sender<td>:</td><td> <input type=text size=30 name=sender></td></tr>
<tr><td>Starzeit<td>:</td><td> <input type=text size=30
name=startzeit></td></tr>
<tr><td>Wochentag<td>:</td><td> <input type=text size=30
name=wochentag></td></tr>
<tr><td>test<input type='text' name='rufnummer' style='width:$size1;' value=''
MAXLENGTH='5' size="10">
<tr><td></td><td><td><input type=submit border=0
value="Bestätigen"></td></tr></table>
</form>
</body></html>
<title>dies soll das einzelProfil werden nach Anmeldung</title>
<body> <center><h1>Daten alle korrekt ?</h1>
<?
if(!mysql_connect("localhost","root",""))
{
//------
echo "<h2>Error, Es kann keine Verbindung zur DB hergestellt
werden </h2>";
//----------dies ist der Code für, falls keine kann.-------
//------------
die();
//--------ohne diesem gäbe es neber der schlichten Fehlermeldung, noch unschöne
codefehlermeldungen------------
}
mysql_select_db("profile");
?>
<table bgcolor=#f878a0 border=0 cellpadding=0 cellspacing=0>
<?
if($_REQUEST['username']!="")
{
$sender=htmlentities($_REQUEST['sender']);
$username=htmlentities($_REQUEST['username']);
$startzeit=htmlentities($_REQUEST['startzeit']);
$wochentag=htmlentities($_REQUEST['wochentag']);
mysql_query("INSERT INTO profil
(id,username,sender,startzeit,wochentag,date)
VALUES('$id','$username','$sender','$startzeit','$wochentag',NOW());");}
//------------
if($_REQUEST['action']=="del")
{
mysql_query("DELETE FROM profil WHERE id={$_REQUEST['id']};");
}
//------der Code zum löschen aus der DB
$result=mysql_query("SELECT id,username,sender,startzeit,wochentag,date
FROM profil ORDER BY id;");
// BY ist die Anordnung der Auflistung
while( $row=mysql_fetch_array($result) )
{ { }
[COLOR="DarkOrange"]//was die klammern sollen.... nehme ich sie weg, funktionierts nichts mehr.....[/COLOR]
echo "<tr><td>Registrier Nr.</b></td>";
echo "<td>".$row['id']."</td>";
echo "<tr><td><b>Benutzername :</b></td>";
echo "<td><b> ".$row['username']."</b></td>";
[COLOR="rgb(255, 140, 0)"]//leerzeichen sollten nicht das Problem sein, auch wenn überflüssig![/COLOR]
echo "<tr><td><b>Wohnort :</b></td>";
echo "<td>".$row['sender']." </td>";
echo "<tr><td><b>Startzeit :</b></td>";
echo "<td>".$row['startzeit']." </td>";
echo "<tr><td><b>Wochentag :</b></td>";
echo "<td>".$row['wochentag']." </td>";
echo "<tr><td><b>Anmeldung :</b></td>";
echo "<td>".$row['date']." ";
echo "<tr><td><b>Test :</b></td>";
echo "<td>".$row['test']." ";
echo "<td><a onclick=\"return confirm('Sicher ?');\"
href=profiltest2.php?action=del&id=".$row['id']."><span
class=red>[Ja]</span></a></td>";
echo "<td></td>";
echo "</tr>";
}
?>
</table></body></html>
Comment
-
noch einmal anders neu
So erhalte ich die Auflistung aller in der Datenbank enthaltenen Daten :
<html><head>
<title>Personenporfil anmeldungstest</title>
<link href="xampp.css" rel="stylesheet" type="text/css"></head>
<body>
<?
if(!mysql_connect("localhost","root",""))
{
echo "<h2>Error</h2>";
die();
}
mysql_select_db("profile");
?></table>
<h2>Registrieren</h2><form action=anmeldetest-ausgabe.php method=get><table
border=0 cellpadding=0 cellspacing=0>
<tr><td>Benutzername<td>:</td><td><input type=text size=30 name=name></td></tr>
<tr><td>Ort<td>:</td><td> <input type=text size=30 name=ort></td></tr>
<tr><td>email<td>:</td><td> <input type=text size=30 name=email></td></tr>
<tr><td>Anmeldung<td>:</td><td> <input type=text size=30 name=date></td></tr>
<tr><td></td><td><td><input type=submit border=0
value="Bestätigen"></td></tr></table>
</form>
</body></html>
<title>dies soll das einzelProfil werden nach Anmeldung</title>
<body> <center><h1>Daten alle korrekt ?</h1>
<?
if(!mysql_connect("localhost","root",""))
{
//------
echo "<h2>Error, Es kann keine Verbindung zur DB hergestellt
werden </h2>";
//----------dies ist der Code für, falls keine kann.-------
//------------
die();
//--------ohne diesem gäbe es neber der schlichten Fehlermeldung, noch unschöne
codefehlermeldungen------------
}
mysql_select_db("profile");
?>
<table bgcolor=#f878a0 border=0 cellpadding=0 cellspacing=0>
<?
if($_REQUEST['name']!="")
if($_REQUEST['ort']!="")
if($_REQUEST['email']!="")
{
$name=htmlentities($_REQUEST['name']);
$ort=htmlentities($_REQUEST['ort']);
$email=htmlentities($_REQUEST['email']);
$date=htmlentities($_REQUEST['date']);
$id=htmlentities($_REQUEST['id']);
mysql_query("INSERT INTO anmelden (id,ort,name,email,date)
VALUES('$id','$name','$ort','$email',NOW());");}
//------------
if($_REQUEST['action']=="del")
{
mysql_query("DELETE FROM anmelden WHERE
id={$_REQUEST['id']};"); }
//------der Code zum löschen aus der DB
$result=mysql_query("SELECT id,name,ort,email,date FROM anmelden ORDER
BY id;");
// BY ist die Anordnung der Auflistung
while( $row=mysql_fetch_array($result) )
{ { }
LIMIT 1";
echo "<tr><td>Registrier Nr.</b></td>";
echo "<td>".$row['id']."</td>";
echo "<tr><td><b>Benutzername :</b></td>";
echo "<td><b> ".$row['name']."</b></td>";
echo "<tr><td><b>Wohnort :</b></td>";
echo "<td>".$row['ort']." </td>";
echo "<tr><td><b>email :</b></td>";
echo "<td>".$row['email']." </td>";
echo "<tr><td><b>Anmeldung :</b></td>";
echo "<td>".$row['date']." </td>";
echo "<td><a onclick=\"return confirm('Sicher ?');\"
href=anmeldetest-ausgabe.php?action=del&id=".$row['id']."><span
class=red>[Ja]</span></a></td>";
echo "<td></td>";
echo "</tr>";
}
?>
</table></body></html>
Comment
-
Bitte benutze nicht QUOTE- sondern PHP-Tags für deinen Code. Das macht ihn schön bunt und damit lesbarer.
Die Fehler in der HTML-Ausgabe mögen dir die meisten Browser noch verzeihen. Aber das Semikolon am Ende deiner SQL-Queries quittiert MySQL mit einem Fehler. Dein Code funktioniert also überhaupt nicht.
Wie du siehst steht in den Regeln nicht ohne Grund, dass etwas Grundlagenwissen unbedingt vorhanden sein sollte.
Im Moment gibts du wegen der Query "SELECT ... ORDER BY id" alle Daten aus. Mit "SELECT ... WHERE id = <die gewünschte ID>" erhältst du nur einen bestimmten Datensatz. Dazu musst du natürlich die ID kennen, um sie in die Query einsetzen zu können. Beim Einfügen hast du sie - woher auch immer. Entweder verwendest du sie noch einmal oder folgst mal dem Link, den unset um 11:11 Uhr gepostet hat.
Aber wie gesagt, es ist nicht damit getan, die eine Query zu ändern. Dein Code ist so voller Fehler, dass er trotzdem nicht laufen wird.
Einfach irgendwas kopieren funktioniert eben nicht. Wenn es so einfach wäre, wären viele von uns arbeitslos.
Comment
-
Originally posted by Pete-Bremen View Postist <html> kein Doctype ?
HTML Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
[COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
[/COLOR]
Comment
Comment