• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL wird nicht geschrieben ! -.-

Partymaster18e

Neues Mitglied
Hi Leute,

mal wieder hab ich ein Problem :oops:
Irgendwie will mein Formular nicht mehr in die Datenbank schreiebn.
Ich hab nichts gemacht eigendlich.
Musste den server nur neu installieren danach hab ich meine backups wieder eingespielt und alle datenbanken erneut erstellt.
Die Config datei mit den zugangsdaten angepasst und das wars.
Er sagt mir zwar nach dem absenden daten wäre eingetragen worden allerdings is nichts in der datenbank.
Hoffe es kann mir jemand helfen.

Hier die Quelldaten:

Das Formular
HTML:
<html>
<head>
</head>
<body>
<center>
<h3>Fahrtzeug erstellen</h3>
<form action="schreiben.php" method="post">
<dl>
<dt>Wache w&auml;hlen:</dt>

<dd>
<select name="wache">
<option value="wolfsheim">Wolfsheim</option>
<option value="ftz">FTZ</option>
<option value="bad_feuerwald">Bad-Feuerwald</option>
</select>
</dd>
<bR>
<dt>Fahrzeug:</dt>
<dd><input type="text" name="fahrtzeug" /></dd>
<br>
<dt>Funkkennung:</dt>
<dd><input type="text" name="funkkennung" /></dd>
<br>
<dt>Status:</dt>
<dd>
<select name="status">
<option value="1">(1) Frei auf Funk (1)</option>
<option value="2">(2) Frei auf Wache (2)</option>
</select>
</dd>
<br>
<dt>Einsatzbereit ? <br><font size="-2">(<font color="RED">!! Wenn NEIN dann ist FZ auf Status 6 !!</font>)</dt>
<dd>
<select name="status6">
<option value="0">Ja</option>
<option value="1">Nein</option>
</select>
<bR>
<dt>Zugeh&ouml;rigkeit:</dt>
<dd><select name="einheit">
<option value="1">Rettungsdienst</option>
<option value="2">Feuerwehr</option>
<option value="3">THW</option>
<option value="4">Sonstige</option>
</select></dd>
<dt></dt>
<dd><input type="hidden" name="sprechwunsch" value="<img src='bilder/gruen.gif' height='20' width='20'>"/></dd>
</dl>
<br><b>Zugeh&ouml;rigkeiten werden wie folgt festgelegt:</b><br><br>Rettungsdienst = 1<bR>Feuerwehr = 2<br>THW = 3<br>Sonstige = 4
<p>
<input type="submit" value="Erstellen" />
<input type="reset" value="Zur&uuml;cksetzen" />
</p>
</form>
</center>
</body>
</html>

Die php Datei welche das schreiben in die Datenbank übernimmt
schreiben.php
PHP:
<?php

include("conf/config.php");

mysql_error();

  mysql_connect("$server",  "$benutzer", "$passwort") or die ("Keine Verbindung moeglich");
mysql_error();
  mysql_select_db("$dbname") or die ("Die Datenbank existiert nicht");
mysql_error();
  $funkkennung = $_POST["funkkennung"];
  $status = $_POST["status"];
  $fahrtzeug = $_POST["fahrtzeug"];
  $wache = $_POST["wache"];
  $sprechwunsch = $_POST["sprechwunsch"];
  $einheit = $_POST["einheit"];
  $status6 = $_POST["status6"];
mysql_error();
  $eintrag = "INSERT INTO wache_$wache (funkkennung, fahrtzeug, status, sprechwunsch, einheit, status6) VALUES ('$funkkennung', '$fahrtzeug', '$status', '$sprechwunsch', '$einheit', '$status6')";
mysql_error();
  $eintragen = mysql_query($eintrag);
mysql_error();
  mysql_close();
print("<b>Fahrzeug erfolgreich eingetragen !</b>");
?>

Naja und dann halt die Config datei
config.php
PHP:
<?php

$server = "localhost";
$benutzer = "******";
$passwort = "********";
$dbname = "*********";

?>


Sollte wer noch Infos brauchen einfach nachfragen.

Mit :twisted:lieben:twisted: Grüßen :

Olli
 

Anhänge

  • 1.JPG
    1.JPG
    18,1 KB · Aufrufe: 10
  • 2.JPG
    2.JPG
    28,8 KB · Aufrufe: 5
  • 3.JPG
    3.JPG
    39,1 KB · Aufrufe: 5
Werbung:
ob das hier geht, halte ich für fragwürdig...

PHP:
<?php
mysql_connect("$server",  "$benutzer", "$passwort");
 mysql_select_db("$dbname");
?>

wenn ich das so schreibe, bekomme ich fehlermeldungen.
mach' da mal die anführungszeichen von den variablen weg.

Nils aka XraYSoLo
 
Danke für die antwort ;-)
Anführungszeichen sind weg und geht trotzdem nicht =/
Ich checks nicht warum.
Dir gibt er wenigstens nen error mir sagt er daten erfolgreiche eingetragen.
Nur die datenbank bleibt leer =/

Noch ne grobe idee ?
 
Werbung:
Das selbe Problem hatte ich auch schon oft.
Benutze in der "config.php" einfach keine Variabeln.

Also statt $server einfach localhost usw.
 
erste mal so nebenbei wenn du es so
PHP:
  $eintrag = "INSERT INTO wache_$wache (funkkennung, fahrtzeug, status, sprechwunsch, einheit, status6) VALUES ('$funkkennung', '$fahrtzeug', '$status', '$sprechwunsch', '$einheit', '$status6')";
mysql_error();
  $eintragen = mysql_query($eintrag);
mysql_error();
  mysql_close();
print("<b>Fahrzeug erfolgreich eingetragen !</b>");]
schreibst ist es klar dass er dir immer ausgibt sie wären eingetragen, du prüfst ja garnet ob sie eingetragen sind du gibst einfach den Text aus


und schreibe mal vor die mysql_error(); ein print also

print mysql_error();


ahja eine bessere prüfung ob es eingetragen ist wäre die
PHP:
print "Wache: " . $wache; // zur kontrolle ob gesetzt
  $eintrag = "INSERT INTO `wache_{$wache}` (`funkkennung`, `fahrtzeug`, `status`, `sprechwunsch`, `einheit`, `status6`) VALUES ('{$funkkennung}', '{$fahrtzeug}', '{$status}', '{$sprechwunsch}', '{$einheit}', '{$status6}')";
  $eintragen = mysql_query($eintrag);
print mysql_error();
if(mysql_affected_rows() > 0 ) {
  print("<b>Fahrzeug erfolgreich eingetragen !</b>");
} else {
  print mysql_error();
  print("<b>Fahrzeug nicht eingetragen !</b>");
}

mysql_close();
und bei Server: localhost hin.
 
Das selbe Problem hatte ich auch schon oft.
Benutze in der "config.php" einfach keine Variabeln.

Also statt $server einfach localhost usw.

sorry, aber das ist blödsinn. programmiersprachen sind gerade auf die wichtigste datenstruktur - eben variablen - optimiert.

versuch' mal das hier:

PHP:
<?php
$eintrag = "INSERT INTO wache_".$wache." VALUES ('".$funkkennung."', '".$fahrtzeug."', '".$status."', '".$sprechwunsch."', '".$einheit."', '".$status6."')";
?>

zudem sollte noch eine eindeutige kennung für die einzelnen spalten bestehen, da du sie ansonsten später nicht von einander unterscheiden kannst.

Nils aka XraYSoLo
 
Werbung:
Vielen dank für die reichlichen antworten =)

Der print mysql_error(); Befehl hat letztendlich licht ins Dunkle gebracht =)

Kla das mit mysql_error(); nichts ausgegeben wird weil er weiß ja nicht was er machen soll ^^ print = auswerfen ^^
Hätte ich durch lögisches denken auch drauf kommen können^^
Waren die Alkoholischen nachwirkungen meines Geburtstages wohl ^^

Der fehler lag an
<input type="hidden" name="sprechwunsch" value="<img src='bilder/gruen.gif' height='20' width='20'>"/>

er kommt wohl nicht mit den
' in der bild Link kla.

hab die striche im bildlink entfernt und es geht ^^

Hoffe das jetzt erstmal alles soweit klappt =)

Danke an euch für eure hilfe =)

Die prüfung ob die daten geschriebn wurden habe ich auch noch mit reingesetzt.
Danke nochmal dafür =)

Wenn wieder was ist meld ich mich ^^

Danke nochmal an alle Poster und schönen Tag noch =)

Liebe Grüße ausser Matrix:

Olli
 
Kein Problem immer wieder gerne ;)

warum hast du den ein Bild da im Value?

sollte es ein Hintergrund sein?

falls ja benutze da einfach das CSS-Atribut background-image:.
 
ne das bild soll den status wiedergeben.
Das grüne bild wenn alles ok ist das rote (wird durch update in die datenbank geschriebn) wenn was nicht stimmt bzw. im bezug auf die aktuelle programmierung wenn ein sprechwunsch / dringender ruf besteht (Status 5).

Naja is alles ziemlich wirsch ^^
Aber was tut man sich nicht alles an wenn wer was programmiert haben will xD
 
Werbung:
Bei einfachen Hochkommas werden Variablen nicht ersetzt!
Schau
Code:
[COLOR=#000000][COLOR=#0000bb]$eintrag [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"INSERT INTO `wache_{$wache}` (`funkkennung`, `fahrtzeug`, 
`status`, `sprechwunsch`, `einheit`, 
`status6`) VALUES ('{$funkkennung}', '{$fahrtzeug}', '{$status}', 
'{$sprechwunsch}',  '{$einheit}', '{$status6}')"[/COLOR][COLOR=#007700];[/COLOR][/COLOR]
Besser:
Code:
"insert into wache_".$wache." ....
"values (".$funkkennung.", ".$fahrtzeug.", ".$status". usw


Oh, sorry, Doppelpost!
 
Hallo kratzbaum,

Strings gehören bei einer Datenbankabfrage in Hochkommas und sollten gegen SQL-Injection abgesichert werden:

PHP:
$sql = "INSERT INTO `tabelle` SET `spalte` = '" . mysql_real_escape_string($var). "'";

Ray schrieb:
ob das hier geht, halte ich für fragwürdig...

PHP:
<?php
mysql_connect("$server",  "$benutzer", "$passwort");
 mysql_select_db("$dbname");
?>

Ja, geht, " sind aber überflüssig! ;)

Gruß
 
Zurück
Oben