ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
1351
1351
EMPFEHLEN
-
Hallo,
Frage: Was ist an diesem Code falsch? die Tabelle heisst test und die spalte heisst folder und der wert wird auch in <i>ordner</i> übergeben.
PHP-Code:$newfol = "INSERT INTO test (folder) VALUES ('$_POST[ordner]')";
-
29.12.04 19:46 #2PHP-Code:
$newfol = "INSERT INTO test SET (folder) VALUES ('$_POST[ordner]')";
Homepage: Oliver Timmermann, Griesheim
-
es will immer noch nicht! ich kanns mir aber auch nicht erklären
-
Hallo,
1.) wenn du ein Array mit nicht numerischen Index ansprichst ($_POST), muß der Index in Hochkommas angegeben werden
2.)PHP-Code://falsch
$_POST[ordner]
//richtig
$_POST['ordner']
Hier wird $_POST[folder] durch die umgebenden " ' " als String behandelt - nicht als Variable. Statt dessen solltest du den gesamten SQL-String an dieser Stelle unterbrechen, die Variable anhängen und anschließend wieder fortführen:PHP-Code:$newfol = "INSERT INTO test (folder) VALUES ('$_POST[ordner]')";
mfg BloddyPHP-Code:// habe auch gleich den Index angepasst ;-)
$newfol = "INSERT INTO test (folder) VALUES ('".$_POST['ordner']."')";
-
29.12.04 20:18 #5
Innerhalb von " " funktioniert in der Regel auch $_POST[ordner], sauberer ist aber auf jeden Fall die letzte Lösung.
Poste doch mal den Code drumherum, nicht nur die Queryzuweisung an eine Variable.Homepage: Oliver Timmermann, Griesheim
-
sorry bloddy newbie hat so auch nicht funktioniert
Hier mal ein größerer Teil des Codes:
PHP-Code:if($_POST['action']=="delete") {
$del = mysql_query("DELETE FROM test WHERE folder='$_POST[ordner]'");
rmdir("../gallerys/$_POST[ordner]");
chmod("../gallerys/$_POST[ordner]", 0777);
if($del) {
echo "<br><br><br><b><font face=Arial size=3><center>Galerie wurde gelöscht</font></b>";
} else {
echo "Fehler";
}
}
-
dein Codeschnippsel hat zwar mit dem zuvor geposteten nicht viel zu tun, aber trotzdem sind auch dort alle von mir aufgezeigten Fehlerquellen enthalten. Hast du mal versucht, meine geposteten Hinweise umzusetzen?
Weiterhin halte ich es sicherheitstechnisch für sehr relevant, vor der blinden Erstellung des per POST übergebenen Ordnernamens, diesen zum Beispiel mittels preg_match auf einen konformen Namen hin zu überprüfen. Weiterhin solltest du im Querry den übergeben String escapen, um SQL-Injections zu vermeiden.
mfg Bloddy
-
ja ich habe deine Vorschläge alle umgesetzt... nur da es nicht funktioniert hat habe ich wieder den ursprünglischen code gepostet.
sicherheitstechnisch muss ich keine Bedenken haben da sich diese Seiten in einem passwortgeschützten Beriech befinden werden.
etwas eigenartig ist das keine Fehlermeldung von MySQL oder von PHP erscheint es kommt die Bestätungsnachricht aber es wird nichts in die Datenbank eingefügt.
-
29.12.04 20:53 #9
Also in deinem zuletzt geposteten Code wird garantiert nichts in eine Datenbank eingefügt.. Dafür ist "DELETE FROM" einfach nicht geeignet
Homepage: Oliver Timmermann, Griesheim
-
sry da hab ich den falschen Teil kopiert!
das ist der Richtige:
PHP-Code:if($_POST['action']=="new") {
$newfol = "INSERT INTO test (folder) VALUES ('".$_POST['ordner']."')";
mkdir("../gallerys/$_POST[newgalerie]");
chmod("../gallerys/$_POST[newgalerie]", 0777);
if($newfol){
echo "<br><br><br><b><font face=Arial size=3><center>Galerie wurde erstellt</font></b>";
} else {
echo "<br><br><br><b><center>Fehler</b>";
}
}
-
Vermisst du nicht auch die Auführung des SQL-Kommandos?
mysql_query() mit entsprechenden Datenbankzeiger solltest du schon noch unterbringen.
mfg Bloddy
-
nee is klar... is auch drinne... hab ich nur nicht gepostet
wie gesagt ich hab auch per echo schonmal $_POST['ordner']; ausgegeben.
-
Hellsehen gehörte noch nie zu meinen Stärken *gg*.
Poste doch ruhig mal etwas mehr Quelltext...
-
puhh habs geschafft... bloody hatte recht der query!
Vielen Dank für die HilfePHP-Code:if($_POST['action']=="new") {
$datum=strftime("%d.%m.%Y");
$newfol = "INSERT INTO galerien (galerie, datum) VALUES ('$_POST[newgl]','datum')";
$newfol =mysql_query($newfol);
mkdir("../gallerys/$_POST[newgl]");
chmod("../gallerys/$_POST[newgl]", 0777);
if($newfol){
echo "<br><br><br><b><font face=Arial size=3><center>Galerie wurde erstellt</font></b>";
} else {
echo "<br><br><br><b><center>Fehler</b>";
}
}
Geändert von neopayne (29.12.04 um 21:28 Uhr)
Ähnliche Themen
-
PDO insert Problem
Von luchs3 im Forum PHPAntworten: 4Letzter Beitrag: 21.02.07, 10:19 -
SQL Problem (insert)
Von dadom110 im Forum JavaAntworten: 3Letzter Beitrag: 24.02.06, 14:52 -
INSERT Problem
Von kesnw im Forum PHPAntworten: 4Letzter Beitrag: 09.06.05, 13:39 -
Problem mit INSERT INTO
Von proloser im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 30.08.04, 12:54 -
INSERT problem ...
Von bspainkf36 im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 06.12.03, 11:58





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren