CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
10.12.2006, 22:46:31
|
|
AW: seltsames Problem
PHP-Code:
<?php
require "../config.php";
connect(); //layout laden
$query = "SELECT llogo,lbild,ltitel
FROM $tab_layout
WHERE lid=1";
$result= mysql_query($query) or die("");
$layout= mysql_fetch_array($result);
echo"
<html>
<head>
<title>$layout[ltitel] - ACP</title>
<link rel='stylesheet' type='text/css' href='../$css'>
<meta http-equiv='expires' content=''0'>
<link href=screen.css rel=stylesheet type=text/css />"; ?>
<script language="javascript" type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
docs_language : "de",
width : 384 ,
height: 100,
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path : "false",
extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"
});
</script>
<?php echo"</head>
<body>
";
echo"<div class='acpseite'>";
//Seite löschen
if($_REQUEST[action] == 'delete' and $_REQUEST[confirm] != 'yes') {
echo "<a href='editpage.php?action=delete&confirm=yes&sid=$_REQUEST[sid]'>Soll die Seite wirklich gelöscht werden?</a><br><br>
<a href='javascript:history.back(1)'>Nicht löschen und zurück...</a> ";
}
if($_REQUEST[action] == 'delete' and $_REQUEST[confirm] == 'yes') {
$query = "DELETE FROM $tab_seiten WHERE sid = $_REQUEST[sid]";
mysql_query($query);
$query = "DELETE FROM $tab_link WHERE lsid = $_REQUEST[sid]";
mysql_query($query);
echo "Seite wurde erfolgreich gelöscht.<br>";
$action = "";
}
if($_REQUEST[action] == "" or $action == ""){
echo"<span class='titel'>Seite bearbeiten</span><br>
Bitte wähle die Seite aus, die du bearbeiten möchtest!
<form method=get>
<select name=sid><option selected></option> ";
$query = "SELECT sueberschrift , sid
FROM $tab_seiten WHERE stype != 'galerie'
ORDER BY sueberschrift DESC";
$seiten=mysql_query($query) or die ("<option>Keine Seiten vorhanden</option>") ;
while($option=mysql_fetch_array($seiten)){
echo"<option value=$option[sid]>$option[sueberschrift]</option>";
}
echo" </select>
<input type=submit value='Seite bearbeiten'>
<input type='hidden' name=action value=edit>
</form>
";
}
if($_REQUEST[action] == 'edit'){
$query = "SELECT * FROM $tab_seiten WHERE sid = $_REQUEST[sid]"; //Die entsprechende Seite wird abgefragt
$result = mysql_query($query);
$seite = mysql_fetch_array($result);
?><span class='titel'>Seite bearbeiten</span><br>
Hier kannst du diese Seite bearbeiten.
<form method=get name=upload action=editpage.php>
<table>
<tr><td>Seitentitel:</td><td><input name=titel value="<?php echo $seite[0]; ?>"></td><td>Überschrift:</td><td><input name=ueberschrift value="<?php echo $seite[1]; ?>"></td></tr>
<tr><td>Kurztext:</td><td><input name=ktext value="<?php echo $seite[2]; ?>"></td></tr>
<tr><td>Text:</td><td colspan=3><textarea name=text height=250 cols=400 rows=55><?php echo $seite[3]; ?></textarea></td></tr>
<tr><td>Bild:</td><td colspan=3><?php if($seite[6] == "") {echo "kein Bild!";} else {echo $seite[6];} ?> <a href="bild.php?action=update&id=<?php echo $_REQUEST[sid]; ?>">Bild ändern...</a></td></tr>
<tr><td>Seitentyp:</td><td><input type=radio name=type value=normal class=Radio
<?php if($seite[8] == "normal") { echo "checked"; } ?>
> normale Seite <input type=radio name=type value=gb class=Radio
<?php if($seite[8] == "gb") { echo "checked"; } ?>
> Gästebuch <input type=radio name=type value=chat class=Radio
<?php if($seite[8] == "chat") { echo "checked"; } ?>
> Chat</td></tr>
<? echo"
<input name=datum type=hidden value='$date'>
<input name=autor type=hidden value='$_SESSION[uname]'>
<input type=hidden name=id value='$_REQUEST[sid]'>";
?>
<tr><td>Link zu Seite</td><td>
<?php
$query = "SELECT * FROM $tab_link WHERE lsid = '$seite[sid]'";
$result = mysql_query($query);
$arr = mysql_fetch_array($result);
echo "<input type='hidden' name=lid1 value=$arr[lid]>";
$query = "SELECT * FROM $tab_seiten WHERE sid = '$arr[sid]'";
$result = mysql_query($query);
$link1 = mysql_fetch_array($result);
?>
<select name=link1>
<?
echo "<option value='$arr[sid]' selected>$link1[sueberschrift]</option>";
$query = "SELECT sueberschrift , sid
FROM $tab_seiten
ORDER BY sueberschrift DESC";
$seiten=mysql_query($query) or die ("<option>Keine Seiten vorhanden</option>") ;
while($option=mysql_fetch_array($seiten)){
echo"<option value=$option[sid]>$option[sueberschrift]</option>";
}
?></select>
</td><td>Linktext:</td><td><input name='ltext1' value="<?php echo $arr[lname]; ?>"></td></tr>
<tr><td>Link öffnen in:</td><td><select name="target1">
<?php
if($arr[ltarget] == "_self") {
echo "<option value='_self' selected>gleichem Fenster</option><option value='_blank'>einem neuen Fenster</option>";
}
else {
echo "<option value='_self'>gleichem Fenster</option><option value='_blank' selected>einem neuen Fenster</option>";
}
?>
</select></td></tr>
<tr><td>Link zu Seite</td><td>
<?php
$query = "SELECT * FROM $tab_link WHERE 1 AND lsid = '$seite[sid]' AND lid != '$arr[lid]'";
$result = mysql_query($query);
$arr = mysql_fetch_array($result);
echo "<input type='hidden' name=lid2 value=$arr[lid]>";
$query = "SELECT * FROM $tab_seiten WHERE sid = '$arr[sid]'";
$result = mysql_query($query);
$link2 = mysql_fetch_array($result);
?>
<select name=link2>
<?
echo "<option value='$arr[sid]' selected>$link2[sueberschrift]</option>";
$query = "SELECT sueberschrift , sid
FROM $tab_seiten
ORDER BY sueberschrift DESC";
$seiten=mysql_query($query) or die ("<option>Keine Seiten vorhanden</option>") ;
while($option=mysql_fetch_array($seiten)){
echo"<option value=$option[sid]>$option[sueberschrift]</option>";
}
?></select>
</td><td>Linktext:</td><td><input name='ltext2' value="<?php echo $arr[lname]; ?>"></td></tr>
<tr><td>Link öffnen in:</td><td><select name="target2">
<?php
if($arr[ltarget] == "_self") {
echo "<option value='_self' selected>gleichem Fenster</option><option value='_blank'>einem neuen Fenster</option>";
}
else {
echo "<option value='_self'>gleichem Fenster</option><option value='_blank' selected>einem neuen Fenster</option>";
}
?>
</select></td></tr>
<tr><td></td><td><input type=submit value='Änderungen speichern'><input type="hidden" name=action value=update></td></tr>
</form>
<?php
echo "<tr><td></td><td><form action='editpage.php' method=post>
<input type='hidden' value=delete name=action>
<input type='hidden' value=$_REQUEST[sid] name=sid>
<input type=submit value='Seite löschen'></form></td></tr>";
?>
</table>
<?php
}
if($_REQUEST[action] == 'update'){
$query= "UPDATE `seiten` SET `stitel` = '$_REQUEST[titel]',
`sueberschrift` = '$_REQUEST[ueberschrift]',
`skurztext` = '$_REQUEST[ktext]',
`stext` = '$_REQUEST[text]',
`sdatum` = '$_REQUEST[datum]',
`sautor` = '$_REQUEST[autor]',
`stype` = '$_REQUEST[type]' WHERE `sid` = '$_REQUEST[id]'";
$result=mysql_query($query) or die("Konnte Seite nicht updaten.");
$id=mysql_insert_id();
if($_REQUEST[link1]!=""){
$query = "UPDATE $tab_link SET lname = '$_REQUEST[ltext1]', ltarget = '$_REQUEST[target1]', sid = '$_REQUEST[link1]' WHERE lid = '$lid1'";
$result = mysql_query($query) or die("Konnte Link 1 nicht schreiben");
}
if($_REQUEST[link2]!=""){
$query = "UPDATE $tab_link SET lname = '$_REQUEST[ltext2]', ltarget = '$_REQUEST[target2]', sid = '$_REQUEST[link2]' WHERE lid = '$lid2'";
$result = mysql_query($query) or die("Konnte Link 2 nicht schreiben");
}
if ($result){
echo"<span class='titel'>Seite bearbeiten</span><br>
Folgende Seite wurde bearbeitet:<br><br>
<table>
<tr><td>Titel: </td><td>$_REQUEST[titel]</td></tr>
<tr><td>Überschrift: </td><td>$_REQUEST[ueberschrift]</td></tr>
<tr><td>Kurztext: </td><td>$_REQUEST[ktext]</td></tr>
<tr><td>Text: </td><td>$_REQUEST[text]</td></tr>
</table>";
}
// }
}
echo"</div>";
echo"
</body>
</html>";
?>
(is lang, aber ich poste besser alles, weil der fehler liegt ja oft im detail.)
|
11.12.2006, 03:58:07
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: seltsames Problem
Du bietest ein mieses HTML an. Keine DOCTYPE, Attributwerte werden nicht als String gekennzeichnet, Frames uam. Auch wenn Dein Authentifizierungsverfahren nicht ersichtlich ist: die Frames werden Dir da noch Probleme bereiten.
Hier ein paar Tests:
Zitat:
Fehler: Verbindung unterbrochen
Die Verbindung zum Server wurde zurückgesetzt, während die Seite geladen wurde.
|
Da hatte sich wohl was überfressen...
Das ist auch unklar:
Code:
Und hier kommt noch etwas Text dazu...
\' \' " "
Nach der Bearbeitung wird es noch übler:
Code:
<font size=\"3\"><font face=\"Times New Roman\">
bzw:
Code:
Und hier kommt noch etwas Text dazu...
\\\' \\\' " "
Das ist finster. Ersetze die Hochkommatas IM TEXT durch ein passendes Entity.
Daß Du den Text im Textarea ohne \n Zeilenschaltung reinlkippst, wird wahrscheinlich Dein Problem sein, weil mit solchen extrem langen Zeilen nicht jeder Browser klar kommt.
Geändert von meikel (†) (12.12.2006 um 21:56:24 Uhr)
|
12.12.2006, 18:50:06
|
|
AW: seltsames Problem
vielen dank für deine bemühungen.
ich verstehe leider deinen gedankengang nicht ganz.
Wie hast du es eigentlich geschafft den Text dazuzufügen?
|
12.12.2006, 21:55:24
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: seltsames Problem
Zitat:
Zitat von N'Koto Zinde
Wie hast du es eigentlich geschafft den Text dazuzufügen?
|
Mit einem janz normalen Browser und ohne Authentifikation.
|
13.12.2006, 19:14:31
|
|
AW: seltsames Problem
aha,
ich kann dir leider nicht folgen. da du das problem aber offensichtlich erkannt hast, könntest du mir vielleicht auch eine lösung anbieten?
|
13.12.2006, 20:15:04
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: seltsames Problem
Zitat:
Zitat von N'Koto Zinde
aha,
|
Ja klar.
Zitat:
ich kann dir leider nicht folgen. da du das problem aber offensichtlich erkannt hast, könntest du mir vielleicht auch eine lösung anbieten?
|
a. schade um den vielen Text.
b. das Problem bist Du selbst.
c. schmeiß das Script weg und fang noch mal von vorn an.
- achte auf korrektes HTML. Das fängt beim DOCTYPE an, setzt sich über als String gekennzeichnete Attributwerte und korrekte Entities fort.
- vermeide Frames im geschützten Bereich. Sowas sollte man sich erst dann trauen, wenn man das HTTP Protokoll aus dem FF kennt und den PHP Sessionmechanismus im Schlaf aufsagen kann.
- beachte den Wert des PHP Flags magic_quotes_gpc! Das steht bei Dir auf ON. Allerdings verwendest Du kein stripslashes(), wenn Du die Texte wieder aus der Datenbank polkst.
Da wird aus ' ein \' und beim erneuten Abspeichern ein \\\'
Und das Wichtigste:
beachte die Zeilenbreite im HTML! KA, welche Zeilenlänge der IE verträgt, aber es ist nicht auszuschließen, daß der bei ein paar tausend Zeichen schlicht und einfach überfordert wird. Mit ca. 160 Zeichen pro Zeile bist Du auf der sicheren Seite. Ich meine hier den LINUX Zeilenumbruch \n, der nichts mit der Darstellung eines HTML Dokuments zu tun hat.
Geändert von meikel (†) (13.12.2006 um 20:16:58 Uhr)
|
15.12.2006, 22:42:56
|
|
AW: seltsames Problem
so.
- die qualität meines codes ist ja egal, es funktionierte ja bisher alles.
- die seiten werden letztendlich nicht mit sessions geschützt sondern mit .htaccess.
und nun wichtigstens:
der ganze Text wird in der Tat ohne Umbruch im Quelltext ausgegeben.
Jetzt hab ich ein bisschen probiert und mir den Text in umgebrochener Form im Quelltext abgerufen. Leider geht es immer noch nicht.
wäre schön, wenn jemand noch ne andere lösung hat. oder ich versteh meikel immer noch nicht ganz...
|
12.02.2007, 22:24:55
|
|
AW: seltsames Problem
wollte nur mitteilen, dass ich das problem neulich gelöst habe.
die lösung:
da die formulare die method GET hatten wurde die URL für den Browser zu lang und er hat verweigert. einfach die method auf POST setzten und das Problem ist vergessen.
danke trotzdem für die hilfe.
Gruß N'Koto
|
22.02.2007, 11:10:33
|
Anfänger
|
|
Registriert seit: Feb 2007
Beiträge: 32
|
|
AW: seltsames Problem
Zitat:
Zitat von N'Koto Zinde
- die qualität meines codes ist ja egal, es funktionierte ja bisher alles.
- die seiten werden letztendlich nicht mit sessions geschützt sondern mit .htaccess.
|
Tipp: Schau dir mal bei Gelegenheit Smarty (smarty.php.net) an.
Ich bezweifel, dass der von dir Vorgestellte Code eine gute Grundlage fuer ein CMS ist.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:37:28 Uhr.
|