Problem mit PHP WebCalendar nach DB Umzug

Ratlosbin

Grünschnabel
Hallo ...

ich haben ein Problem mit unserem Vereins-Webcalender nach einem Datenbankumzug (zumindest íst mir dieses nach dem Umzug aufgefallen)

Der kalender ( http://www.lsv-kulmbach.de/kalender) im eigentlichen funktioniert einwandfrei, einträge sind miglich, löschen usw... alles OK , nur wenn ich als Admin in den Systemeinstellungen vom Kalender etwas ändern möchte , bekomme ich jedesmal folgende Fehlermeldung :

(Beginn)

Warning: Variable passed to each() is not an array or object in /is/htdocs/wp1012476_18R6EQ87CW/www/kalender/admin_handler.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1012476_18R6EQ87CW/www/kalender/admin_handler.php:11) in /is/htdocs/wp1012476_18R6EQ87CW/www/kalender/includes/functions.php on line 589
Redirecting to ... here.

(Ende)

beim klick auf " Redirecting to ... here" komme ich auch wieder ordentlich in die Systemeinstellungen, nur das die gemachten Änderungen NICHT geändert sind.

Nun bin ich kein großer PHP-SQL Fachmann, ich kann eine Datenbank sichern, wieder aufspielen, mit phpMyAdmin einrichten usw. aber wenn es um solche Fehlermeldungen geht bin ich zugegebendermaßen etwas ratlos. ich habe bereits alle FAQs usw. duchstöbert, noch mal die Rechtevergabe auf dem (Linux) server duchgeschaut , aber steige nicht dahinter

Wie gesagt das ganze ist mir aufgefallen als ich die HP auf einen anderen Server (Hosteurope) umgezogen habe. Das einspielen der DB hat einwandrei funktioniert.

Über Hilfe wäre Ich dankbar da mir dieses Problem schon einige graue Haare in den letzten Tagen beschert hat. *g*
 
Die erste Meldung lässt sich ja leicht aus dem Englischen übersetzen. Die zweite Fehlermeldung tritt auf, weil die erste Meldung ausgegeben wurde, denn Header-Informationen müssen gesendet werden bevor jeglicher Inhalt an den Client gesendet wird.
Es wäre möglich, dass das Skript auf dem anderen Server denselben Fehler verursacht hat, aber das Error-Reporting aus war und Du den Fehler daher nicht gesehen hast und der Header deswegen auch gesendet werden konnte.

Ohne den entsprechenden Quelltext zu sehen, kann ich Dir aber nichts genaues sagen.

Gruß hpvw
 
Jetzt hab ich nen Lösungsansatz der mich aber nicht richtig weiterbringe :

Wenn ich ein @ vor each... schreibe ist zwar nun die Fehlermehlung schön weg, jedoch die änderungen werden noch nicht übernommen.

Hier mal der Quelltext aus der admin_handler.php


Code:


<?php
include_once 'includes/init.php';

$error = "";

if ( ! $is_admin ) {
$error = translate("You are not authorized");
}

if ( $error == "" ) {
while ( list ( $key, $value ) = each ( $HTTP_POST_VARS ) ) {
$setting = substr ( $key, 6 );
if ( strlen ( $setting ) > 0 ) {
$sql = "DELETE FROM webcal_config WHERE cal_setting = '$setting'";
if ( ! dbi_query ( $sql ) ) {
$error = translate("Error") . ": " . dbi_error () .
"<br /><br /><span style=\"font-weight:bold;\">SQL:</span> $sql";
break;
}
if ( strlen ( $value ) > 0 ) {
$sql = "INSERT INTO webcal_config " .
"( cal_setting, cal_value ) VALUES " .
"( '$setting', '$value' )";
if ( ! dbi_query ( $sql ) ) {
$error = translate("Error") . ": " . dbi_error () .
"<br /><br /><span style=\"font-weight:bold;\">SQL:</span> $sql";
break;
}
}
}
}
}

if ( empty ( $error ) ) {
if ( empty ( $ovrd ) )
do_redirect ( "admin.php" );
else
do_redirect ( "admin.php?ovrd=$ovrd" );
}

print_header();
?>

<h2><?php etranslate("Error")?></h2>

<?php etranslate("The following error occurred")?>:
<blockquote>
<?php echo $error; ?>
</blockquote>

<?php print_trailer(); ?>

</body>
</html>
 
Zurück