[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, 15:04
Beitrag # 1 von 3
Bewertung:
(644 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, 21:46
Beitrag # 2 von 3
Beitrag ID: #141550
Bewertung:
(644 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

3. Feb 2005, 00:09
Beitrag # 3 von 3
Beitrag ID: #141586
Bewertung:
(644 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]

Aktuell

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
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/