Autor |
Nachricht |
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 03.05.2005 09:27
Titel [php] mysql update & f-/-open/-puts - problem |
|
|
ich habe gleich 2 probleme
//#1
es wird automatisch eine datei erstellt
Code: | $filename = '../templates/' . $_POST['name'] . '.html';
$fp = fopen($filename,"w");
fwrite($fp,'<!-- ' . $_POST['name'] . '.html -->');
fclose($fp); |
diese soll dann geändert werden
Code: | $file = $_POST['sel_file'];
$filename = '../templates/' . $file;
chmod($filename,777);
$handle = fopen ($filename, "w");
fputs($handle, $inhalt);
chmod($filename,555); |
ich bekomme dann aber folgende fehlermeldung:
Zitat: | Warning: fopen(../templates/fitness-badminton.html) [function.fopen]: failed to create stream: Permission denied in /datei.php on line 7
Warning: fputs(): supplied argument is not a valid stream resource in /datei.php on line 8 |
wenn ich die datei mit dem editor bearbeite und dann
nochmal über die seite, dann funktioniert es!?
wenn ich die abspeicher, dann erstellt der editor
ne backup-datei, was ersonst auch nie macht.
weiß einer von euch was das soll, bzw was ich anders machen muss?
_______________________________________________________________________________________________
//#2
ein datenbankfeld wir in ner textbox ausgegeben und soll geändert werden können.
kann es auch. nur gibt es ein problem mit einfachen anführungszeichen. es gibt
nach jededem abspeichern doppelt so viele... hier mal der code
Code: | mysql_query("UPDATE site SET content='$content' WHERE root = '$root'"); |
oder sollte es heißen
Code: | mysql_query('UPDATE site SET content="$content" WHERE root = "$root"'); |
aber dann hab ich doch bestimmt das gleiche problem mit den doppelten anführungszeichen...
oder ganz ohne
Code: | mysql_query("UPDATE site SET content=$content WHERE root = $root"); |
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 03.05.2005 09:33
Titel
|
|
|
für #2 .. wirklich egal ob nun doppelt oder einfach .. was nur
definitiv ist: du brauchst welche. ich würde das so schreiben:
'update table set col = " ' .addslashes($str). ' " where 1 = 1'
(ich hab zur verdeutlichung mal die anführungszeichen
"auseinander" gezogen)
|
|
|
|
|
Anzeige
|
|
|
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 03.05.2005 09:40
Titel
|
|
|
addslashes hab ich auch schon ausprobiert
da wird aus einem, gleich drei anführungszeichen
oder liegts an der ausgabe?
Code: | echo '<textarea rows="30" cols="100" name="content">' . $row->content . '</textarea>'; |
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 03.05.2005 10:30
Titel
|
|
|
hmm dann kannste mal mit stripslashes() probieren .. ansonsten
könnten auch die funktionen richtung mysql_escape_string()
weiterhelfen.
|
|
|
|
|
donnerchen
Dabei seit: 06.04.2003
Ort: -
Alter: 53
Geschlecht:
|
Verfasst Di 03.05.2005 10:43
Titel Re: [php] mysql update & f-/-open/-puts - problem |
|
|
[quote="caZpa"]
Zitat: | Warning: fopen(../templates/fitness-badminton.html) [function.fopen]: failed to create stream: Permission denied in /datei.php on line 7
weiß einer von euch was das soll, bzw was ich anders machen muss?
|
Dein Script bracuht Schreibrechte auf den Ordner. Wenn Du das verzeichnis von Hand angelegt hast, dann gehört es Dir. Somit hast Du Schreibrechte abder der Webser, der unter einem anderen User ausgeführt wird (www, apache, wwwrun oder so) keine Rechte. Also, Rechte ändern oder das verzeichnis mit chown an den Server "übergeben".
caZpa hat geschrieben: |
ein datenbankfeld wir in ner textbox ausgegeben und soll geändert werden können.
kann es auch. nur gibt es ein problem mit einfachen anführungszeichen. es gibt
nach jededem abspeichern doppelt so viele...
|
Hm, doppelt so viele Anführungszeichen? Doppelt so viele Backslashes hatte ich noch verstanden. Sicher, dass das Anführungszeichn sind?
caZpa hat geschrieben: |
Code: | mysql_query('UPDATE site SET content="$content" WHERE root = "$root"'); |
|
Neee, bei SQL müssen die String-Literale in einfache Anführungszeichen eingeschlossen werden. Also WHERE root='$root'
|
|
|
|
|
caZpa
Account gelöscht Threadersteller
Ort: -
|
Verfasst Di 03.05.2005 11:54
Titel Re: [php] mysql update & f-/-open/-puts - problem |
|
|
donnerchen hat geschrieben: |
Dein Script bracuht Schreibrechte auf den Ordner. Wenn Du das verzeichnis von Hand angelegt hast, dann gehört es Dir. Somit hast Du Schreibrechte abder der Webser, der unter einem anderen User ausgeführt wird (www, apache, wwwrun oder so) keine Rechte. Also, Rechte ändern oder das verzeichnis mit chown an den Server "übergeben".
|
hmm.. werd ich mal checken
donnerchen hat geschrieben: |
Hm, doppelt so viele Anführungszeichen? Doppelt so viele Backslashes hatte ich noch verstanden. Sicher, dass das Anführungszeichn sind? |
ja, einfache anführungszeichen
wenn ich ->' ins textfeld schreibe und speichere
hab ich bei der nächsten ausgabe ''
nochmal speichern ''''
nochmal '''''''' usw
//prob#2 gelöst
jucheee
dastef hat geschrieben: | ... mysql_escape_string() ... |
ist des rätsels lösung
Zuletzt bearbeitet von am Di 03.05.2005 12:03, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Problem mit mysql UPDATE
Problem mit UPDATE (php und MySQL)
PHP/MySQL >> Problem bei DB-Update per Formular
Suche (Open Source) DAM System in PHP & MySQL
mysql update funktioniert nicht
UPDATE php/MySQL will nicht funktionieren...
|
|