mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 03.12.2016 01:29 Benutzername: Passwort: Auto-Login

Thema: [php] mysql update & f-/-open/-puts - problem vom 03.05.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] mysql update & f-/-open/-puts - problem
Autor Nachricht
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 03.05.2005 08:27
Titel

[php] mysql update & f-/-open/-puts - problem

Antworten mit Zitat Zum Seitenanfang

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");

Hä?

* Keine Ahnung... *
 
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 03.05.2005 08:33
Titel

Antworten mit Zitat Zum Seitenanfang

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)
  View user's profile Private Nachricht senden
Anzeige
Anzeige
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 03.05.2005 08:40
Titel

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Di 03.05.2005 09:30
Titel

Antworten mit Zitat Zum Seitenanfang

hmm dann kannste mal mit stripslashes() probieren .. ansonsten
könnten auch die funktionen richtung mysql_escape_string()
weiterhelfen.
  View user's profile Private Nachricht senden
donnerchen

Dabei seit: 06.04.2003
Ort: -
Alter: 45
Geschlecht: Männlich
Verfasst Di 03.05.2005 09:43
Titel

Re: [php] mysql update & f-/-open/-puts - problem

Antworten mit Zitat Zum Seitenanfang

[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'
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 03.05.2005 10:54
Titel

Re: [php] mysql update & f-/-open/-puts - problem

Antworten mit Zitat Zum Seitenanfang

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
Lächel


Zuletzt bearbeitet von am Di 03.05.2005 11:03, insgesamt 1-mal bearbeitet
 
 
Ähnliche Themen Problem mit UPDATE (php und MySQL)
PHP/MySQL >> Problem bei DB-Update per Formular
Suche (Open Source) DAM System in PHP & MySQL
[PHP / MYSQL] Update geht nicht
UPDATE php/MySQL will nicht funktionieren...
Problem mit mysql UPDATE
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.