anpera.net
https://anpera.dyndns.org/phpbb3/

rawoutput() Fehlermeldung
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=5269
Seite 1 von 1

Autor:  The Grinch [ Sa 08 Jan, 2011 02:02 ]
Betreff des Beitrags:  rawoutput() Fehlermeldung

Hallo ich bin grade dabei das Much in One bundle einzubauen.
Ich habe mich als erstes darum gekümmert das ich diese Funktionen einbaue :
* allownav()
* db_query_secure()
* db_real_escape_string()
* output() mit Unterstützung für sprintf
* rawoutput() mit Unterstützung für sprintf
* navStripC()

aber ich kriege jetzt eine fehlermeldung:

Fatal error: Cannot redeclare rawoutput() (previously declared in /srv/www/web423/html/common.php:55) in /srv/www/web423/html/common.php on line 156

ich schreibe einfach mal ein teil rein vielleicht findet ihr ja den fehler.

PHP:
function output($data) {
/**
* A mod from "Basilius-Extensions"
*
* Basiert auf der originalen output()-Funktion des Release 0.9.7+jt ext GER 3
* Erweitert von Basilius "Wasili" Sauter
*
* Version vom 5. Februar 2007
*/

global $output;
// global $nestedtags, $output # "deprecated"

$data = translate($data);

// Anzahl Argumente sowie die Werte aller Argumente speichern
$argsnum = func_num_args();
$args = func_get_args();

// Wenn das zweite Argument boolensch ist, kann es nur als HTML-Schalter zählen;
// Speichere den Wert in $priv und setzte $j auf 2, damit die For-Schleife nicht das Argument überflüssigerweise auswertet.
if(is_bool($args[1])) {
$priv = $args[1];
$j = 2;
}
else {
$priv = false;
$j = 1;
}

// Nur wenn es mehr Argumente als eines, bzw. zwei (Im Falle vom HTML-Schalter) gibt, und nur dann muss vsprintf aufgerufen werden!
if(($j == 1 && $argsnum > 1) || ($j == 2 && $argsnum > 2)) {
// Filtriere `% heraus und "Escape" das % Zeichen mit sich selbst:
$data = str_replace('`%', '`%%', $data);

// Array der Schönheithalber erstellen
$args4vsprintf = array();
// Solange $i kleiner als die Zahl der Argumente soll den neuen Array den Wert übergeben werden
for($i = $j; $i < $argsnum; $i++) {
$args4vsprintf[] = $args[$i];
}

// %s auswerten. Mehr dazu im PHP-Manual
$data = vsprintf($data, $args4vsprintf);
}

$output .= appoencode($data, $priv);
$output .= "\r\n";

return 1;
}
function rawoutput($data) {
/**
* A mod from "Basilius-Extensions"
*
* Basiert auf der originalen rawoutput()-Funktion des Release 0.9.7+jt ext GER 3
* Erweitert von Basilius "Wasili" Sauter
*
* Version vom 5. Februar 2007
*/

global $output;

// Anzahl Argumente sowie die Werte aller Argumente speichern
$argsnum = func_num_args();
$args = func_get_args();

// Nur wenn es mehr Argumente als eines, und nur dann muss vsprintf aufgerufen werden!
if($argsnum > 1) {
// Filtriere `% heraus und "Escape" das % Zeichen mit sich selbst:
$data = str_replace('`%', '`%%', $data);

// Array der Schönheithalber erstellen
$args4vsprintf = array();
// Solange $i kleiner als die Zahl der Argumente soll den neuen Array den Wert übergeben werden
for($i = 1; $i < $argsnum; $i++) {
$args4vsprintf[] = $args[$i];
}

// %s auswerten. Mehr dazu im PHP-Manual
$data = vsprintf($data, $args4vsprintf);
}

$output .= $data . "\r\n";
}
function navStripC($string) {
$regexp = '/
(?:
(\?|&)(?:c=)
)
(
[[:digit:]-[:digit:]]
*?)
/uUix';
$string = preg_replace($regexp, '', $string);
return $string;
}

Autor:  Lori [ Sa 08 Jan, 2011 06:51 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

In deiner common.php ist bereits die Funktion rawoutput vorhanden. Du hast sie damit doppelt, das besagt der Fehler redeclare = erneut deklarieren.

Du musst die alte rawoutput-Funktion mit /* */ auskommentieren.

Autor:  The Grinch [ Sa 08 Jan, 2011 13:35 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

jup danke geht wieder. :)

Autor:  The Grinch [ Sa 08 Jan, 2011 15:02 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

So mir macht noch was Probleme und zwar müsste es sich um die Stelle handeln, sonst in source schauen.

PHP:
////////////////////////////////////////////
// - Ende des Schneeballmods
////////////////////////////////////////////
$commentary = preg_replace("'([^[:space:]]{45,45})([^[:space:]])'","\\1 \\2",$commentary);
if ($session['user']['drunkenness']>50) $talkline = "lallt";
$talkline = translate($talkline);

if ($talkline!="sagt" // do an emote if the area has a custom talkline and the user isn't trying to emote already.
&& substr($commentary,0,1)!=":"
&& substr($commentary,0,2)!="::"
&& substr($commentary,0,3)!="/me")
$commentary = ":`3$talkline: \\\"`#$commentary`3\\\"";
$sql = "SELECT commentary.comment,commentary.author FROM commentary WHERE section='$section' ORDER BY commentid DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
db_free_result($result);
if ($row[comment]!=stripslashes($commentary) || $row[author]!=$session[user][acctid]){
// if ($row[comment]!=$commentary || $row[author]!=$session[user][acctid]){
$sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")";
db_query($sql) or die(db_error(LINK));
return true;
} else {
$doublepost = 1;
}
}
return false;
}

function dhms($secs,$dec=false){
if ($dec===false) $secs=round($secs,0);
return (int)($secs/86400)."d".(int)($secs/3600%24)."h".(int)($secs/60%60)."m".($secs%60).($dec?substr($secs-(int)$secs,1):"")."s";
}

function getmount($horse=0) {


Ich bin schon die ganze Zeit was am versuchen aber es geht nicht .
Parse error: syntax error, unexpected '}' in /srv/www/web423/html/common.php on line 1714
und als 2tes:
Ich benutze Adobe Dreamwaver und ich habe vorhin was eingebaut aber alles darunter hat keine farben mehr.
Also z.b function ist nicht mehr grün usw.
.
Aber vorher hatte alles noch eine Farbe.
Es handelt sich auch hierbei um die commom.php

Autor:  The Grinch [ Sa 08 Jan, 2011 19:34 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

Ich hab das:
PHP:
$commentary = preg_replace("'([^[:space:]]{45,45})([^[:space:]])'","\\1 \\2",$commentary);
if ($session['user']['drunkenness']>50) $talkline = "lallt";
$talkline = translate($talkline);

if ($talkline!="sagt" // do an emote if the area has a custom talkline and the user isn't trying to emote already.
&& substr($commentary,0,1)!=":"
&& substr($commentary,0,2)!="::"
&& substr($commentary,0,3)!="/me")
$commentary = ":`3$talkline: \\\"`#$commentary`3\\\"";
$sql = "SELECT commentary.comment,commentary.author FROM commentary WHERE section='$section' ORDER BY commentid DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
db_free_result($result);
if ($row[comment]!=stripslashes($commentary) || $row[author]!=$session[user][acctid]){
// if ($row[comment]!=$commentary || $row[author]!=$session[user][acctid]){
$sql = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session[user][acctid].",\"$commentary\")";
db_query($sql) or die(db_error(LINK));
return true;
} else {
$doublepost = 1;
}
}
return false;
}


einfach mal raus genommen und es geht ich denke mal auch das dass der fehler war aber jetzt kommt der nächste:
vorher hatte ich den mit db_real_escape_string denn habe ich daraus mysql_real_escape_string gemacht, da war der Fehler weg aber mit dem nächsten hat das nicht geklappt, habe auch in der SUFU nichts gefunden was muss ich dennn jetzt machen
Fatal error: Call to undefined function db_query_secure() in /srv/www/web423/html/lib/commentary.php on line 1325

Autor:  Erenya [ Sa 08 Jan, 2011 20:36 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

Parse error: syntax error, unexpected '}

In dem Satz steht der Fehler drin.
Ich würde mal meinen, einer } zuviel.
Einfach mal die Fehlermeldung durch Google Translate jagen, vielleicht geht dann ein Lichtlein auf. ^^

Autor:  The Grinch [ So 09 Jan, 2011 00:13 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

ohweia das eine durfte ich nicht raus nehmen dadurch gab es die fehlermeldung.
Aber jetzt brauche ich echt eure hilfe, ich weiß echt nicht wie ich das hier beseitigen soll -.- :bash: :( :weia:#
Parse error: syntax error, unexpected '}' in /srv/www/web423/html/common.php on line 1632

schaut am besten in die source aber für die die es im editor einfach finden füge ich es unten ein.

Autor:  Charon [ So 09 Jan, 2011 00:49 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

Lösche alles von Zeile 1604 bis Zeile 1712, denn das würde wohl in die Funktion addcommentary() gehören (wenn du nicht das Bundle von Eliwood eingebaut hättest) und nicht einfach völlig zusammenhanglos in die common.php. :nene:
Und dann solltest du dich vielleicht mal eine Woche in Ruhe nur mal mit den Grundlagen von php beschäftigen und mit dem was du schon hast. Ein guter Server zeichnet sich ganz sicher nicht dadurch aus, einfach nur jeden verfügbaren Mod eingebaut zu haben. ;)

Autor:  The Grinch [ So 09 Jan, 2011 01:09 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

klar das verstehe ich auch aber ich baue einige Sachen ein damit ich es verstehe.
Ich habe jetzt das alles gelöscht .
Aber bekomme jetzt wieder diese :

Fatal error: Call to undefined function db_query_secure() in /srv/www/web423/html/lib/commentary.php on line 1325

was muss ich denn da in der commentary ändern?

Autor:  Charon [ So 09 Jan, 2011 02:04 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

Du solltest dann aber auch die Einbauanleitungen richtig lesen und bei Fehlern überprüfen, ob du diese richtig und vollständig befolgt hast. Die Fehlermeldung ist in diesem Fall wirklich nicht schwer zu verstehen. Sie besagt einfach, dass versucht wurde eine Funktion aufzurufen, die nicht bei dir nicht gefunden wurde.
Es fehlt bei dir also ganz einfach noch die Funktion db_query_secure(), die auch in der Einbauanleitung von Eliwood für das Commentary Bundle aufgeführt und verlinkt ist.

Autor:  The Grinch [ So 09 Jan, 2011 02:28 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

ahh okay .
da fällt mir grade auf das die funktion im dbwrapper ist, weil das wurde mir empfohlen denn ändere ich die verlinkung dafür
edit: ach ich habs einfach in die common gesetzt das funkt auch

Autor:  Charon [ So 09 Jan, 2011 03:14 ]
Betreff des Beitrags:  Re: rawoutput() Fehlermeldung

In der dbwrapper.php ist die Funktion gut aufgehoben. Wie ich gerade sehe, hat es aber deshalb nicht funktioniert, weil du die Datei vermurkst und die beiden Funktionen db_query_secure() und db_real_escape_string() in die Funktion db_free_result() reinkopiert hast (vor die abschließende geschweifte Klammer), anstatt sie dahinter einzufügen.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/