Hallo,
ich bin neu hier und bin dabei ne seite zu machen und zwar für ein spiel.
ich habe ein formular womit ich sachen in die db eintragen will und dann auf ner anderen seite wieder auslesen will. das habe ich mit einem tutorial probiert und mit den daten die ich im tutorial habe funktioniert es aber mit den umgeänderten daten von mir funktionierts nicht. ich kriege folgende 2 fehlermeldungen
[B]Warning[/B]: mysql_num_rows() expects parameter 1 to be resource, boolean given in [B]/xxx/xxx/xxx/xxx/xxx/xxx/xxx/admin/finanzabteilung/auslesengts.php[/B] on line [B]27[/B]
[B]Warning[/B]: mysql_fetch_array() expects parameter 1 to be resource, boolean given in [B]/xxx/xxx/xxx/xxx/xxx/xxx/xxx/admin/finanzabteilung/auslesengts.php[/B] on line [B]34[/B]
so ich habe meinen code durchsucht aber finde einfach nichts was falsch sein sollte.
die codes sind etwas länger aber ich stelle sie mal rein.
auslesengts.php
<!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" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Datensätze aus einer Datenbank auslesen und ausgeben</title>
</head>
<body>
<?php
$db_host = "xxx";
$db_user = "xxx";
$db_pass = "xxx";
$db_name = "delovi";
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
// Anfrage zusammenstellen um die Datensaetze auszulesen
$sql = "SELECT `nickname`, `fahrer`, `start1`, `ende1`, `gefahrenekilometer1`, `gefahreneleerkilometer1`, `einnahmen1`, `tanken1`, `polizei1`, `frachtbeschaedigung1`, `reparaturwartung1`, `start2`, `ende2`, `gefahrenekilometer2`, `gefahreneleerkilometer2`, `einnahmen2`, `tanken2`, `polizei2`, `frachtbeschaedigung2`, `reparaturwartung2`, IF as reparaturwartung2 FROM `formulargts`";
// Anfrage an die DB schicken und die Rueckmeldung in eine Variable ablegen
$abfrageergebnis = mysql_query( $sql, $conID );
// Ermitteln wie viele Datensaetzen gefunden wurden
$anzahl = mysql_num_rows( $abfrageergebnis );
echo "<p>Es wurden <strong>" .$anzahl. "</strong> Datensätze gefunden!</p>";
// Tabelle erstellen fuer die Ausgabe
echo '<table border="1">';
echo "<tr><th>Nickname</th><th>Fahrer</th><th>Start1</th><th>Ende1</th><th>Gefahrene Kilometer1</th><th>Gefahrene Leerkilometer1</th><th>Einnahmen1</th><th>Tanken1</th><th>Polizei1</th><th>Frachtbeschädigung1</th><th>Reparatur/Wartung1</th><th>Start2</th><th>Ende2</th><th>Gefahrene Kilometer2</th><th>Gefahrene Leerkilometer2</th><th>Einnahmen2</th><th>Tanken2</th><th>Polizei2</th><th>Frachtbeschädigung2</th><th>Reparatur/Wartung2</th></tr>";
// Ab hier werden die Datensaetze zeilenweise ausgeben (auch fetchen genannt)
while ($datensatz = mysql_fetch_array( $abfrageergebnis ));
{
// Jeder Datensatz entspricht einer Tabellenzeile
echo "<tr>";
echo "<td>" .htmlspecialchars( $datensatz['nickname'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['fahrer'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['start1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['ende1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['gefahrenekilometer1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['gefahreneleerkilometer1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['einnahmen1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['tanken1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['polizei1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['frachtbeschaedigung1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['reparaturwartung1'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['start2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['ende2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['gefahrenekilometer2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['gefahreneleerkilometer2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['einnahmen2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['tanken2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['polizei2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['frachtbeschaedigung2'] ). "</td>";
echo "<td>" .htmlspecialchars( $datensatz['reparaturwartung2'] ). "</td>";
echo "</tr>";
}
// Tabelle schliessen
echo "</table>";
?>
</body>
</html>
Alles anzeigen
das hier ist das formular zum eintragen in die db. da gibt er mir zwar keine solche fehlermeldung wie oben sagt mir aber das kein datensatz hinzugefügt werden konnte.
formulargts.php
<?php
session_start();
// Prüfen ob der User eingeloggt ist
if(!isset($_SESSION['UserID'])){
// Falls nein, Skript beenden
die("Sie sind nicht eingeloggt, nur eingeloggte User dürfen diese Seite betreten.<a href=\"login.php\">Einloggen</a>");
}
else{
echo "Sie dürfen diesen Bereich betreten.";
// Skript ausführen
}
?>
<?php
$db_host = "xxx";
$db_user = "xxx";
$db_pass = "xxx";
$db_name = "delovi";
if (isset( $_POST['eintragen'] ))
{
// Maskierende Slashes aus POST entfernen
$_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;
// Inhalte der Felder aus POST holen
$nickname = $_POST['nickname'];
$fahrer = $_POST['fahrer'];
$start1 = (int) $_POST['start1'];
$ende1 = (int) $_POST['ende1'];
$gefahrenekilometer1 = $_POST['gefahrenekilometer1'];
$gefahreneleerkilometer1 = $_POST['gefahreneleerkilometer1'];
$einnahmen1 = $_POST['einnahmen1'];
$tanken1 = $_POST['tanken1'];
$polizei1 = $_POST['polizei1'];
$frachtbeschaedigung1 = $_POST['frachtbeschaedigung1'];
$reparaturwartung1 = $_POST['reparaturwartung1'];
$start2 = (int) $_POST['start2'];
$ende2 = (int) $_POST['ende2'];
$gefahrenekilometer2 = $_POST['gefahrenekilometer2'];
$gefahreneleerkilometer2 = $_POST['gefahreneleerkilometer2'];
$einnahmen2 = $_POST['einnahmen2'];
$tanken2 = $_POST['tanken2'];
$polizei2 = $_POST['polizei2'];
$frachtbeschaedigung2 = $_POST['frachtbeschaedigung2'];
$reparaturwartung2 = $_POST['reparaturwartung2'];
$bemerkung = $_POST['bemerkung'];
/* ************************************************************************************************ */
/* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
/* ************************************************************************************************ */
// Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
// Verbindung oeffnen und Datenbank ausweahlen
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}
// Anfrage zusammenstellen der an die DB geschickt werden soll
$sql = "INSERT INTO `formulargts`
(`nickname`, `fahrer`, `start1`, `ende1`, `gefahrenekilometer1`, `gefahreneleerkilometer1`, `einnahmen1`, `tanken1`, `polizei1`, `frachtbeschaedigung1`, `reparaturwartung1`, `start2`, `ende2`, `gefahrenekilometer2`, `gefahreneleerkilometer2`, `einnahmen2`, `tanken2`, `polizei2`, `frachtbeschaedigung2`, `reparaturwartung2`)
VALUES(
'" .mysql_real_escape_string( $nickname ). "',
'" .mysql_real_escape_string( $fahrer ). "',
'" .mysql_real_escape_string( $start1 ). "',
'" .mysql_real_escape_string( $ende1 ). "',
'" .mysql_real_escape_string( $gefahrenekilometer1 ). "',
'" .mysql_real_escape_string( $gefahreneleerkilometer1 ). "',
'" .mysql_real_escape_string( $einnahmen1 ). "',
'" .mysql_real_escape_string( $tanken1 ). "',
'" .mysql_real_escape_string( $polizei1 ). "',
'" .mysql_real_escape_string( $frachtbeschaedigung1 ). "',
'" .mysql_real_escape_string( $reparaturwartung1 ). "',
'" .mysql_real_escape_string( $start2 ). "',
'" .mysql_real_escape_string( $ende2 ). "',
'" .mysql_real_escape_string( $gefahrenekilometer2 ). "',
'" .mysql_real_escape_string( $gefahreneleerkilometer2 ). "',
'" .mysql_real_escape_string( $einnahmen2 ). "',
'" .mysql_real_escape_string( $tanken2 ). "',
'" .mysql_real_escape_string( $polizei2 ). "',
'" .mysql_real_escape_string( $frachtbeschaedigung2 ). "',
'" .mysql_real_escape_string( $reparaturwartung2 ). "',
)";
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
mysql_query( $sql );
// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
if (mysql_affected_rows() == 1)
{
echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
// Hier kann weiterer Code stehen der ausgefuehrt werden soll
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
// der ueber den neuen Eintrag informiert
}
else
{
echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
// damit er sich um den Fehler kuemmern kann, etc pp
}
}
?>
<!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" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Abrechnung der Fahrer GTS</title>
</head>
<body>
<body background="background1.jpg">
<p align="center"><img src="logo.png"></p>
<p align="center"><a href="index.php">Startseite</a></p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formulargts" ">
Nickname: <input type="text" name="nickname" id="nickname" /><br />
Fahrer: <input type="radio" name="fahrer" value="fest" checked="checked" />Fest angestellt <input type="radio" name="fahrer" value="probe" />auf Probe angestellt<br />
<p>Tour1</p>
Start 1: <select name="start1" >
<option value="Berlin">Berlin</option>
<option value="Bremen">Bremen</option>
<option value="Dortmund">Dortmund</option>
<option value="Dresden">Dresden</option>
<option value="Duisburg">Duisburg</option>
<option value="Düsseldorf">Düsseldorf</option>
<option value="Erfurt">Erfurt</option>
<option value="Frankfurt am Main">Frankfurt am Main</option>
<option value="Hamburg">Hamburg</option>
<option value="Hannover">Hannover</option>
<option value="Kiel">Kiel</option>
<option value="Köln">Köln</option>
<option value="Leipzig">Leipzig</option>
<option value="Magdeburg">Magdeburg</option>
<option value="München">München</option>
<option value="Nürnberg">Nürnberg</option>
<option value="Rostock">Rostock</option>
<option value="Stuttgart">Stuttgart</option>
</select><br />
Ende 1: <select name="ende1" >
<option value="Berlin">Berlin</option>
<option value="Bremen">Bremen</option>
<option value="Dortmund">Dortmund</option>
<option value="Dresden">Dresden</option>
<option value="Duisburg">Duisburg</option>
<option value="Düsseldorf">Düsseldorf</option>
<option value="Erfurt">Erfurt</option>
<option value="Frankfurt am Main">Frankfurt am Main</option>
<option value="Hamburg">Hamburg</option>
<option value="Hannover">Hannover</option>
<option value="Kiel">Kiel</option>
<option value="Köln">Köln</option>
<option value="Leipzig">Leipzig</option>
<option value="Magdeburg">Magdeburg</option>
<option value="München">München</option>
<option value="Nürnberg">Nürnberg</option>
<option value="Rostock">Rostock</option>
<option value="Stuttgart">Stuttgart</option>
</select><br />
<br>
Gefahrene Kilometer 1: <input type="text" name="gefahrenekilometer1" /><br />
Gefahrene Leerkilometer 1: <input type="text" name="gefahreneleerkilometer1" /><br />
Einnahmen 1: <input type="text" name="einnahmen1" /><br />
Tanken 1: <input type="text" name="tanken1" /><br />
Polizei 1: <input type="text" name="polizei1" /><br />
Frachtbeschädigung 1: <input type="text" name="frachtbeschaedigung1" /><br />
Reparatur/Wartung 1: <input type="text" name="reparaturwartung1" /><br />
<p>Tour2</p>
Start 2: <select name="start2" >
<option value="Berlin">Berlin</option>
<option value="Bremen">Bremen</option>
<option value="Dortmund">Dortmund</option>
<option value="Dresden">Dresden</option>
<option value="Duisburg">Duisburg</option>
<option value="Düsseldorf">Düsseldorf</option>
<option value="Erfurt">Erfurt</option>
<option value="Frankfurt am Main">Frankfurt am Main</option>
<option value="Hamburg">Hamburg</option>
<option value="Hannover">Hannover</option>
<option value="Kiel">Kiel</option>
<option value="Köln">Köln</option>
<option value="Leipzig">Leipzig</option>
<option value="Magdeburg">Magdeburg</option>
<option value="München">München</option>
<option value="Nürnberg">Nürnberg</option>
<option value="Rostock">Rostock</option>
<option value="Stuttgart">Stuttgart</option>
</select><br />
Ende 2: <select name="ende2" >
<option value="Berlin">Berlin</option>
<option value="Bremen">Bremen</option>
<option value="Dortmund">Dortmund</option>
<option value="Dresden">Dresden</option>
<option value="Duisburg">Duisburg</option>
<option value="Düsseldorf">Düsseldorf</option>
<option value="Erfurt">Erfurt</option>
<option value="Frankfurt am Main">Frankfurt am Main</option>
<option value="Hamburg">Hamburg</option>
<option value="Hannover">Hannover</option>
<option value="Kiel">Kiel</option>
<option value="Köln">Köln</option>
<option value="Leipzig">Leipzig</option>
<option value="Magdeburg">Magdeburg</option>
<option value="München">München</option>
<option value="Nürnberg">Nürnberg</option>
<option value="Rostock">Rostock</option>
<option value="Stuttgart">Stuttgart</option>
</select><br />
<br>
Gefahrene Kilometer 2: <input type="text" name="gefahrenekilometer2" /><br />
Gefahrene Leerkilometer 2: <input type="text" name="gefahreneleerkilometer2" /><br />
Einnahmen 2: <input type="text" name="einnahmen2" /><br />
Tanken 2: <input type="text" name="tanken2" /><br />
Polizei 2: <input type="text" name="polizei2" /><br />
Frachtbeschädigung 2: <input type="text" name="frachtbeschaedigung2" /><br />
Reparatur/Wartung 2: <input type="text" name="reparaturwartung2" /><br />
Bemerkung: <input type="text" name="bemerkung" id="bemerkung" /><br />
<input type="submit" name="eintragen" id="eintragen" value="Abschicken" />
</body>
</html>
Alles anzeigen
sämtliche kommentare sind aus dem tutorial noch bestehend
so sieht meine tabelle in der db aus
CREATE TABLE IF NOT EXISTS `formulargts` (
`id` int(7) NOT NULL AUTO_INCREMENT,
`nickname` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`fahrer` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`start1` varchar(30) COLLATE latin1_german2_ci NOT NULL,
`ende1` tinyint(20) unsigned NOT NULL,
`gefahrenekilometer1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`gefahreneleerkilometer1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`einnahmen1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`tanken1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`polizei1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`frachtbeschaedigung1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`reparaturwartung1` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`start2` tinyint(20) unsigned NOT NULL,
`ende2` tinyint(20) unsigned NOT NULL,
`gefahrenekilometer2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`gefahreneleerkilometer2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`einnahmen2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`tanken2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`polizei2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`frachtbeschaedigung2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`reparaturwartung2` varchar(50) COLLATE latin1_german2_ci NOT NULL,
`bemerkung` varchar(255) COLLATE latin1_german2_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=7 ;
Alles anzeigen
es wäre sehr nett wenn jemand lust hat mir bitte auch gleich in den code einen bildupload einzubauen. wie und wo die bilder gespeichert werden ist egal ob db oder nen ordner aber wenn sie abgerufen werden sollten es auch die richtigen sein das heißt fahrer a lädt bilder hoch (samt dem formular oben) also soll die finanzabteilung auch die bilder von fahrer a sehen und nicht bilder von fahrer c.
nach jeder tour ( wie man sieht tour 1 und tour 2 ) müssen 3 bilder hochgeladen werden
ich bedanke mich schonmal für antworten und jegliche hilfe