php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit BB Code + session


 
Fdot
18-08-2006, 19:49 
 
hi,

ich wollte ein formular mit bbcode machen. hatte das sogar scho ma geschafft, wollte das jetzt auf eine neue hp machen, aber das ganze geht nur dann, wenn ich nicht nach session:

session_start ();
if (isset ($_SESSION["user_id"]))
{
$eingeloggt="ja";
}


schau. bei der andere hp ist aber auch eine session fkt dabei, wiso geht das jetzt also nicht?

 
penizillin
18-08-2006, 19:56 
 
kann ich nicht wissen.

und außerdem weiß ich nicht, was du mit "geht" bzw. "geht nicht" meinst.

 
Fdot
18-08-2006, 20:01 
 
naja bbcode sind ja so buttons mit [ b] wo dann eben im formular [ b] eingefügt wird. und das funktioniert nicht (es passiert nichts, wenn man draufdrückt) wenn session geht. ich schreib ma die codes in verkürzter fassung rein:

include1.php
<?php
session_start ();
if (isset ($_SESSION["user_id"]))
{
$eingeloggt="ja";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>

<title>KITA</title>
<style type="text/css">

[...]

</style>
</head>
<body>

<div id="Seite">

<div id="Navigation">
<a href="index.php?a=1&b=1">Begrüßung</a> <img src="images/css_04.gif" align="middle">
<a href="index.php?a=2&b=2">News</a> <img src="images/css_04.gif" align="middle">
[...]

</div>
<div id="header"><br><br><br><br><br><br><br><br> <h1>


include2.php
</h1></div>

<div id="Inhalt">
<div id="height"></div>


include3.php
</div><div id="submenu">Submenu<br><br>
<? $x_query = mysql_query ("SELECT id, bereich, link FROM navi WHERE bereich = '$a'");
while ($x = mysql_fetch_array($x_query))
{
$id = $x["id"];
$link = $x["link"];
echo '<a href="index.php?a='.$a.'&b='.$id.'">'.$link.'</a><br>';

}
?>

</div>
<? if ($eingeloggt == 'ja')
{ echo '<div id="intern">
Intern<br>
<br>';
if ($a != '')
{ echo '<a href="insert.php?a='.$a.'">neuer link</a>';}
if ($b != '')
{ echo '<br><a href="edit.php?b='.$b.'">edit</a>';}
if ($b > 8)
{ echo '<br><a href="delete.php?b='.$b.'">delete</a>'; }

echo '<br>
------<br>
<a href="upload.php">upload</a>
</div>';}
?>
<div id="Fusszeile"></div>
</div>

</body>
</html>


edit.php
<?php
include('include1.php');
include('include2.php');
include('include-dbconn.php');

$x_query = mysql_query ("SELECT topic, inhalt FROM inhalt WHERE id = '1'");

while ($x = mysql_fetch_array($x_query))
{
$topic = $x["topic"];
$text = $x["inhalt"];

$text = preg_replace("|\<b\>(.*)\</b\>|Uism","$1",$text);
$text = preg_replace("|\<i\>(.*)\</i\>|Uism","$1",$text);
$text = preg_replace("|\<u\>(.*)\</u\>|Uism","$1",$text);
$text = preg_replace("|\<marquee\>(.*)\</marquee\>|Uism","$1",$text);
$text = preg_replace("|\<p align=\"center\"\>(.*)\</p\>|Uism","$1",$text);
$text = preg_replace("|\<img src=\"(.*)\"\>|Uism","$1",$text);
$text = preg_replace("|\<a href=\"(.*)\" target\=\"_blank\">(.*)\</a\>|Uism","$2 (\$1\)",$text);
$text = preg_replace("|\<a href=mailto:\"(.*)\"\>(.*)\</a\>|Uism","$2",$text);
$text = preg_replace("|\<a href=mailto:\"(.*)\"\>\<img src=\"(.*)\"\>\</a\>|Uism","$2\",$text);

echo '
<form name="reply" method="post" name="form" action="new2.php">

<input type="text" name="topic" value="'.$topic.'" size="20"><br>
<br>
<textarea rows="5" cols="40" name="message">'.$text.'</textarea><br>
<br>
<input type="submit" value="Daten speichern!" name="B"><input type="reset" value="Zurücksetzen" name="B2">
<input type="hidden" name="typ" value="$bereich">
</form>

';
}

?>
<script language="JavaScript">
<!--

function SymError()
{
return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<script language="JavaScript">
<!--

function SymError()
{
return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<script language="javascript">

function storeCaret(text)
{
if (text.createTextRange)
{
text.caretPos = document.selection.createRange().duplicate();
}
}


function mbb_einfuegen(text)
{
if (text=='')
{
if (mbb.feld1.value=='')
{
einfuegen('');
mbb.feld1.value='';
}
else if (mbb.feld1.value=='')
{
einfuegen('');
mbb.feld1.value='[b]';
}
}

else if (text=='')
{
if (mbb.feld2.value=='')
{
einfuegen('');
mbb.feld2.value='';
}
else if (mbb.feld2.value=='')
{
einfuegen('');
mbb.feld2.value='[i]';
}
}

else if (text=='')
{
if (mbb.feld3.value=='')
{
einfuegen('');
mbb.feld3.value='';
}
else if (mbb.feld3.value=='')
{
einfuegen('');
mbb.feld3.value='[u]';
}
}

if (text=='')
{
if (mbb.feld4.value=='')
{
einfuegen('');
mbb.feld4.value='';
}
else if (mbb.feld4.value=='')
{
einfuegen('');
mbb.feld4.value='[marquee]';
}
}

if (text=='')
{
if (mbb.feld5.value=='')
{
einfuegen('');
mbb.feld5.value='';
}
else if (mbb.feld5.value=='')
{
einfuegen('');
mbb.feld5.value='[center]';
}
}

else if (text=='')
{
var temp=prompt('URL zur Bilddatei', 'http://');
if (temp)
{
einfuegen ('[image]' + temp + '');
}
}


else if (text=='')
{
var temp=prompt('E-Mail Adresse:', '');
if (temp)
{
var temp2=prompt('Beschreibung (optional)', '');
if (temp2)
{
einfuegen ('[mail=' + temp + ']' + temp2 + '');
}
else
{
einfuegen ('' + temp + '');
}
}
}

else if (text=='[url]')
{
var temp=prompt('Verlinkte URL', 'http://');
if (temp)
{
var temp2=prompt('Linkbeschreibung (optional)', '');
if (temp2)
{
einfuegen ('' + temp2 + ' (' + temp + ')');
}
else
{
einfuegen ('' + temp + '');
}
}
}



else if (text=='')
{
var temp=prompt('E-Mail Adresse:', '');
if (temp)
{
var temp2=prompt('URL der Bilddatei', 'http://');
if (temp2)
{
einfuegen ('[imgmail=' + temp + ']' + temp2 + '');
}
else
{
einfuegen ('' + temp + '');
}
}
}




}

function einfuegen(text)
{
if (document.reply.message.createTextRange && document.reply.message.caretPos)
{
var caretPos = document.reply.message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
text + ' ' : text;
}
else document.reply.message.value += text;
document.reply.message.focus(caretPos)
}

</script>
<form name="mbb">
<p align="center">BBCode: <input style="width: 50px;" name="feld1" value="[b]" onclick="mbb_einfuegen('[b]')" type="button">
<input style="width: 50px;" name="feld2" value="[i]" onclick="mbb_einfuegen('[i]')" type="button">
<input style="width: 50px;" name="feld3" value="[u]" onclick="mbb_einfuegen('[u]')" type="button">
<input style="width: 50px;" name="feld4" value="[marquee]" onclick="mbb_einfuegen('[marquee]')" type="button">
<input style="width: 50px;" name="feld5" value="[center]" onclick="mbb_einfuegen('[center]')" type="button">
<input style="width: 50px;" name="feld6" value="[image]" onclick="mbb_einfuegen('[image]')" type="button">
<input style="width: 50px;" name="feld7" value="[url]" onclick="mbb_einfuegen('[url]')" type="button">
<input style="width: 50px;" name="feld8" value="[mail]" onclick="mbb_einfuegen('[mail]')" type="button">
<input style="width: 50px;" name="feld9" value="[imgmail]" onclick="mbb_einfuegen('[imgmail]')" type="button"></p>
</form>

<a href="new_help.php" target="_self">[HELP]</a>
<br>
<br>
TIPP: Du kannst auch einfach den HTML Code von z.b. Frontpage kopieren!

<?
include('include3.php');
?>

<script language="JavaScript">
<!--
var SymRealOnLoad;
var SymRealOnUnload;

function SymOnUnload()
{
window.open = SymWinOpen;
if(SymRealOnUnload != null)
SymRealOnUnload();
}

function SymOnLoad()
{
if(SymRealOnLoad != null)
SymRealOnLoad();
window.open = SymRealWinOpen;
SymRealOnUnload = window.onunload;
window.onunload = SymOnUnload;
}

SymRealOnLoad = window.onload;
window.onload = SymOnLoad;

//-->
</script>


is hal alles saulang und ich hab selber von js nicht wirklich viel ahnung, weiß nur, dass es mal ging...

 
penizillin
18-08-2006, 20:12 
 
wenn nichts passiert, liegt also ein js-prblem vor.
js hat zum glück mit sessions nichts zu tun, das problem liegt wohl an dem js-code. gibt es eine js-fehlermeldung? (lässt sich mit der js-konsole im firefox gut untersuchen).

 
TobiaZ
18-08-2006, 20:14 
 
kann mir nicht vorstellen, dass eine SERVERSEITIGE Session die KLIENTSEITIGE Ausführung von Java-Script beeinflusst.

Fang mal an zu debuggen.

 
Fdot
18-08-2006, 20:17 
 
öhm dumm frage:

wo und wie sehe ich die fehler bei js? gibt es da auch so eine fehlermeldfunktion?

 
TobiaZ
18-08-2006, 21:21 
 
z.B. mit der JS Konsole von FF. hatte penizillin bereits erwähnt.
Der IE liefert je nach einstellungen auch fehlermeldungen. Wenn auch nicht ganz so schön

 
Fdot
19-08-2006, 01:11 
 
oh sry.

also da steht drinnen dass es einen "syntax error" auf zeile 1 gibt. auf zeile 1 steht <? wenn das weiter runter mach, also zeile 1 leer ist, dann geht alles. wenn zeile 1 <? ist, dann gehen nur die sachen, bei denen ein eingabeformular (z.b. url bzw mail, img etc), aber so sachen wie [ b] nicht. jemand ne idee woran das liegt?

 
TobiaZ
19-08-2006, 13:48 
 
Hast du etwa immer noch nicht den unterschied zwischen Serverseitig und Klientseitig verstanden?

Von dem PHP kram sollte der Browser gar nichts mitbekommen.

 
Fdot
19-08-2006, 15:15 
 
das hab ich schon geblickt, aber ich sag ja nur was los is. für mich sieht das js zeug eigtl alles recht logisch aus, aber es funktioniert eben nur zum teil und ich weiß eben nicht warum.

 
wahsaga
19-08-2006, 15:30 
 
Dann vergleiche den Code, der beim Client ankommt (HTML und JS), mit Session und ohne.

 
Fdot
19-08-2006, 15:33 
 
naja ich habs etz anders gemacht. genauso wie auch die url fenster kommt jetzt auch bei fett n fenster mit einem text zum einfügen so geht es.

aber trotzdem danke für die hilfe.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:15 Uhr.