grosses Problem mit einem Script

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Amiga
Mitglied
Beiträge: 51
Registriert: 14.10.2004 19:29
Wohnort: Schweiz
Kontaktdaten:

grosses Problem mit einem Script

Beitrag von Amiga »

Hallo Leute

Also, ich habe da ein Script welches bisher immer einwandfrei lief. Dann waren Formatierungen drin, welche ich gelöscht habe. Seither geht es nicht mehr. Diese Formatierungen waren aber nur für die grösse der Zellen, hat also nichts mit dem Code selber zu tun. Ich habe danach sogar wieder das Original getestet, ging auch nicht mehr. Da ich diese Dateien nicht mehr habe, kann ich es aber jetzt leider nicht mehr Rekonstruieren.

Das ganze besteht aus drei Dateien. Die erste Datei ist eine Eingabemaske. Die zweite Datei sollte das ganze in die MySQL Datenbank übertragen und die dritte Datei liest mir die Datenbank aus.

Die Eingabemaske funktioniert einwandfrei, auch das auslesen der DB funktioniert, nur beim Eintragen in die DB geht irgendwas nicht.
Hier mal der Code dieser Datei, die das ganze in die DB eintragen müsste.
An der MySQL Datenbank habe ich wissentlich nichts geändert.

Hoffe ihr könnt mir helfen, ich bin mit meinem Latein schon lange am Ende.

Code: Alles auswählen

<html>
<body>
<head>
<title>Hier steht der Titel</title>
</head>
<style type="text/css">
td
{
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:9pt;
}

.td_fett
{
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:9pt;
font-weight:bold;
}

</style>
<?
$server="localhost";
$Benutzer="BENUTZER";
$Kennwort="PASSWORT";
$verbindung=mysql_connect ($server, $Benutzer, $Kennwort);


mysql_select_db("DATABASE", $verbindung);

$sql_eintrag ="INSERT INTO global (Marke, Modell, Auflösung, analog Zoom, digital Zoom, Displaygroesse, Gewicht, DSLR, Sensortyp, MMC, Compact Flash, Memory Stick, SD, Foto) VALUES ('$Marke','$Modell','$Auflösung','$analog Zoom','$digital Zoom','$Displaygrösse','$Gewicht','$DSLR','$Sensortyp','$MMC','$Compact Flash','$Memory Stick','$SD','$Foto')";
$eintrag = mysql_query($sql_eintrag, $verbindung);
$sql = "select * from global";
$ergebnis = mysql_query($sql, $verbindung);
echo "<br><br>Danke für den Eintrag";
echo "<br><br>","Du hast folgende Daten eingegeben:<br><br>";

echo "<table width=400 border=1>";
echo "<tr>";
echo "<td class='td_fett' width=200>Marke","</td>","<td width=200>",$Marke,"</td><tr>";
echo "<td class='td_fett' width=200>Modell","</td>","<td width=200>",$Modell,"</td><tr>";
echo "<td class='td_fett' width=200>Auflösung","</td>","<td width=200>",$Auflösung,"</td><tr>";
echo "<td class='td_fett' width=200>analogZoom","</td>","<td width=200>",$analog_Zoom,"</td><tr>";
echo "<td class='td_fett' width=200>digital Zoom","</td>","<td width=200>",$digital_Zoom,"</td><tr>";
echo "<td class='td_fett' width=200>Displaygrösse","</td>","<td width=200>",$Displaygroesse,"</td><tr>";
echo "<td class='td_fett' width=200>Gewicht","</td>","<td width=200>",$Gewicht,"</td><tr>";
echo "<td class='td_fett' width=200>DSLR","</td>","<td width=200>",$DSLR,"</td><tr>";
echo "<td class='td_fett' width=200>Sensortyp","</td>","<td width=200>",$Sensortyp,"</td><tr>";
echo "<td class='td_fett' width=200>MMC","</td>","<td width=200>",$MMC,"</td><tr>";
echo "<td class='td_fett' width=200>Compact Flash","</td>","<td width=200>",$Compact_Flash,"</td><tr>";
echo "<td class='td_fett' width=200>Memory Stick","</td>","<td width=200>",$Memory_Stick,"</td><tr>";
echo "<td class='td_fett' width=200>SD","</td>","<td width=200>",$SD,"</td><tr>";
echo "<td class='td_fett' width=200>Foto","</td>","<td width=200>",$SD,"</td><tr>";
echo "</table>";

while($row = mysql_fetch_object($ergebnis))
{
echo "<p>";
}

mysql_free_result($ergebnis);
mysql_close($verbindung);
?>

</body>
</html>
Ach ja, was komisch ist. Mit meinem Editor haben die ganzen Befehle Farben. Das While ist seit neustem Schwarz und nicht mehr in Farbe. Ich vermute es hat was damit zu tun, finde aber nirgends einen Codefehler.
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Hallo auch,

mach mal in allen echo-Zeilen aus den , ein . und siehe da, die Fehler gehören der Vergangenheit an. ;)

Der Punkt verbindet zwei Strings, nicht ein Komma.

Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Amiga
Mitglied
Beiträge: 51
Registriert: 14.10.2004 19:29
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Amiga »

cYbercOsmOnauT hat geschrieben:Hallo auch,

mach mal in allen echo-Zeilen aus den , ein . und siehe da, die Fehler gehören der Vergangenheit an. ;)

Der Punkt verbindet zwei Strings, nicht ein Komma.

Grüße,
Tekin
Du meinst am Ende der jeweiligen Zeilen das ; was ich in einen . ersetzen soll?

Ich kann mir nicht vorstellen das es daran liegt, denn wie gesagt, der Script lief ja vorhin und genau der gleiche Script ist auf einer anderen Webseite drauf und läuft einwandfrei und dort sind die ; auch vorhanden.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

nein, er meint wirklich die Kommas,. z.B. aus
echo "<td class='td_fett' width=200>Marke","</td>","<td width=200>",$Marke,"</td><tr>";
sollst du
echo "<td class='td_fett' width=200>Marke"."</td>"."<td width=200>".$Marke."</td><tr>";
machen
Amiga
Mitglied
Beiträge: 51
Registriert: 14.10.2004 19:29
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Amiga »

Ja ok, werde ich nachher machen.
Aber ich denke daran kann es nicht liegen. Denn die waren vorhin schon drin und vorhin hats geklappt und das Original File das ich als Ausangslage hierfür genommen habe hat auch die , drin und es geht.

Aber wie gesagt, jetzt Frühstücke ist erstmal, ja ist ein bischen spät ich weiss, und dann werde ich es testen.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

Code: Alles auswählen

$sql_eintrag ="INSERT INTO global (Marke, Modell, Auflösung, analog Zoom, digital Zoom, Displaygroesse, Gewicht, DSLR, Sensortyp, MMC, Compact Flash, Memory Stick, SD, Foto) VALUES ('$Marke','$Modell','$Auflösung','$analog Zoom','$digital Zoom','$Displaygrösse','$Gewicht','$DSLR','$Sensortyp','$MMC','$Compact Flash','$Memory Stick','$SD','$Foto')"; 
ohne weiter validierung der eingabewerte ist das ja geradezu eine einladung via sql-injektion in die db zu schreiben :roll:
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Amiga
Mitglied
Beiträge: 51
Registriert: 14.10.2004 19:29
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Amiga »

larsneo hat geschrieben:

Code: Alles auswählen

$sql_eintrag ="INSERT INTO global (Marke, Modell, Auflösung, analog Zoom, digital Zoom, Displaygroesse, Gewicht, DSLR, Sensortyp, MMC, Compact Flash, Memory Stick, SD, Foto) VALUES ('$Marke','$Modell','$Auflösung','$analog Zoom','$digital Zoom','$Displaygrösse','$Gewicht','$DSLR','$Sensortyp','$MMC','$Compact Flash','$Memory Stick','$SD','$Foto')"; 
ohne weiter validierung der eingabewerte ist das ja geradezu eine einladung via sql-injektion in die db zu schreiben :roll:
Und was heist das auf Deutsch? Nur weil ich an einem solchen Script Arbeite heist das noch lange nicht das ich Programmiersprache verstehe. Also, was heist Validierung der Werte? Was soll ich da noch machen?


Was das ersetzen der , durch . angeht, das ist wie ich vermutet habe, keine Änderung. Das heist, das Problem ist noch immer da.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

wo und wie sollen die werte, die du versuchst in die datenbank zu schreiben denn eigentlich herkommen?
scheinbar verlässt du dich da auf register_globals=on und begibst dich so auch gleichzeitig in die gefahr das man dem script quasi beliebige werte unterschieben kann die dann direkt in die datenbank geschrieben werden.
lesestoff: *klick*/*klack*
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Amiga
Mitglied
Beiträge: 51
Registriert: 14.10.2004 19:29
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Amiga »

Ich denke mal dem ist auch so. Es sind wie bereits ganz am Anfang beschrieben drei Scripte.

Hier nochmals der Text welcher in meinem ersten Posting steht:

Das ganze besteht aus drei Dateien. Die erste Datei ist eine Eingabemaske. Die zweite Datei sollte das ganze in die MySQL Datenbank übertragen und die dritte Datei liest mir die Datenbank aus.

Ich denke damit ist deine Frage woher die Daten kommen beantwortet?

Deinen Link werde ich nachher mal anklicken und durchlesen.
FCM
Mitglied
Beiträge: 1863
Registriert: 03.05.2006 14:47
Kontaktdaten:

Beitrag von FCM »

larsneo hat geschrieben:

Code: Alles auswählen

$sql_eintrag ="INSERT INTO global (Marke, Modell, Auflösung, analog Zoom, digital Zoom, Displaygroesse, Gewicht, DSLR, Sensortyp, MMC, Compact Flash, Memory Stick, SD, Foto) VALUES ('$Marke','$Modell','$Auflösung','$analog Zoom','$digital Zoom','$Displaygrösse','$Gewicht','$DSLR','$Sensortyp','$MMC','$Compact Flash','$Memory Stick','$SD','$Foto')"; 
ohne weiter validierung der eingabewerte ist das ja geradezu eine einladung via sql-injektion in die db zu schreiben :roll:
Ja, jeder weiß eben nicht so viel wie du :o Warum sagst du nicht einfach, wie es geht, anstatt groß die Augen zu rollen?
Antworten

Zurück zu „Coding & Technik“