[GastForen Programmierung/Entwicklung PHP und MySQL Fehlersuche

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Fehlersuche

darksmilie
Beiträge gesamt: 88

2. Feb 2005, 14:04
Beitrag # 1 von 3
Bewertung:
(612 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich möchte aus einem Formular daten an meine db hochschicken, aber er gibt mir immer ein Fehler aus, das was im sql-satz nicht stimmt.
Vielleicht findet einer von den fehler, den ich ausversehen eingebaut habe.

Quelltext:

<?php

include("connect.php");
mysql_select_db($db,$dbhandle) or die ("konnte nicht verbunden werden");
if($send ==1)
{
$sql = "INSERT INTO mannschaft(mannsname) VALUES(\"$_POST[mannsname]\");";
mysql_query ($sql,$dbhandle) or die ("konnte nicht verbunden werden");

$sql = "INSERT INTO verein(vername) VALUES(\"$_POST[vername]\");";
mysql_query ($sql,$dbhandle) or die (mysql_error);
mysql_query("UPDATE mannschaft SET ver_id='$verein.id' WHERE verein.vername ='$vername'") or die ("$sql");
}

?>

<html>
<head>
<title>Anmeldung</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<?php

echo "<table width=\"78%\" border=\"1\">";

echo "<form action=\"$PHP_SELF\" method=\"POST\" name=\"mannschaftanmelden\">";

echo "<tr style=\"background: #FFFFFF; font-size: 12px;\">";

echo "<td>Mannschaftsname</td>";
echo "<td><input type=\"text\" name=\"mannsname\" size=\"15\"></td></tr>";
echo "<tr><td>Vereinszugehörigkeit</td>";
echo "<td><input type=\"text\" name=\"vername\" size=\"15\"></td>";

echo "<td>[ <a href=\"$php_self?open=schutzeanmelden&send=1\">Anmelden</a> ]</td>";

echo "</tr>";

echo "</form>";

echo "</table>";

?>

</body>
</html>

Fehlermeldung:

INSERT INTO verein(vername) VALUES("");

Die namen der Tabellen und der Tabellenspalten aus der DB passen.
X

Fehlersuche

Foggy
Beiträge gesamt: 48

2. Feb 2005, 20:46
Beitrag # 2 von 3
Beitrag ID: #141550
Bewertung:
(612 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
$sql = "INSERT INTO mannschaft(mannsname) VALUES('" . $_POST["mannsname"] . "');";

Du kannst nicht Super Globale Variablen einfach in einen von " Angeführten String setzen...
Entweder du definierst erst eine "normale" Variable mit dessen Inhalt
also so:
$mannsname = $_POST["mannsname"];
und dann
echo "Mannschaftsname: $mannsname";
Oder du verbindest den String mit der SuperGlobalen mit einem PUNKT so wie ich das in der ersten Zeile gemacht habe:

echo "Mannschaftsname: " . $_POST["mannsname"] . "sonstnochwas";


als Antwort auf: [#141396]

Fehlersuche

Pozor
Beiträge gesamt: 892

2. Feb 2005, 23:09
Beitrag # 3 von 3
Beitrag ID: #141586
Bewertung:
(612 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

verwende NIE die Daten direkt die vom User kommen -> sql injection!
immer mit mysql_escape_string($variable) sicherstellen, dass dies nicht
möglich ist.
Beim Ausgeben, die slahses einfach wieder entfernen mit stripslashes()
http://www.php.net/mysql_escape_string
http://www.php.net/stripslashes

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#141396]

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
12.03.2021 - 16.07.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 12. März 2021, 13.00 Uhr - Freitag, 16. Juli 2021, 17.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PBAS