Jetzt kostenlos Anmelden!

Fatalus Männlich

ist gerade angekommen

Beiträge: 7

Geschlecht: Männlich

Wohnort: Ruhrpott

PHPKIT Version: 1.6.1

1

Mittwoch, 16. Januar 2008, 01:03

Komische Fehlermeldung beim Newscontent verfassen

Hallo zusammen,
ich hab ein kleines Problem. Da ich meine Website etwas länger nur so "laufen" hatte weiss ich nicht wann oder wieso dieser Fehler dazu gekommen sein könnte - ich habe aber schon lange lange keine Hacks dazugepackt und bei den letzten News ging noch alles fehlerfrei.

Kommen wir mal zum Problem, wenn ich über den PHPkit Adminbereich => Content-Modul => Content verfassen

neue News verfasse, kriege ich neuerdings eine Fehlermeldung die wie folgt lautet:

PHP-Quelltext

1
2
3
Warningmktime() expects parameter 1 to be longstring given in /var/www/ud08_221/html/phpkit/admin/content/compose.php on line 72

WarningCannot modify header information headers already sent by (output started at /var/www/ud08_221/html/phpkit/admin/content/compose.php:72in /var/www/ud08_221/html/phpkit/admin/content/compose.php on line 94


Ich kann mir beim besten Willen nicht erklären wie und warum sich da jetzt ein Fehler mit der Überschriftenweiterleitung eingeschlichen haben soll. Die News sind dann zwar ordnungsgemäß auf der Homepage zu sehen - nur stört mich diese fehlermeldung doch recht arg, wo ich in kommender Zeit wieder öfters neue einpacken muss

Ich hab zwar mal in die compose.php geguckt aber kann dem gewirr da grade nicht wirklich folgen.
Der Code sieht wie folgt aus (zeile 59-96):

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  }
 elseif ($step==3) {
  if ($ACTION==$_POST['save'] || $ACTION==$_POST['next']) {
   if ($_POST['cont_delete']==1) {header("location: admin.php?path=content/delete.php&contentid=".$_POST['contentid']."&PHPKITSID=".session_id()); exit();}
   $cont_autor=$_POST['cont_autor'];
   $userinfo=$DB->fetch_array($DB->query("SELECT user_id FROM ".$db_tab['user']." WHERE user_nick='".$cont_autor."'"));
   $cont_autorid=$userinfo['user_id'];
   $cont_cat=$_POST['catid'];
   $cont_type=$_POST['type'];
   $cont_title=addslashes($_POST['cont_title']);
   $cont_text=addslashes($_POST['content']);
   $cont_altdat=addslashes($_POST['cont_altdat']);   
   $cont_time=mktime($_POST['cont_time_h'],$_POST['cont_time_mm'],0,$_POST['cont_time_m'],$_POST['cont_time_d'],$_POST['cont_time_y']);
   $cont_expire=mktime($_POST['cont_expire_h'],$_POST['cont_expire_mm'],0,$_POST['cont_expire_m'],$_POST['cont_expire_d'],$_POST['cont_expire_y']);
   if ($cont_time<|| $_POST['reset_time']==1$cont_time=time();
   if ($cont_expire<0$cont_expire=0;
   if (adminaccess('contfree')) $alterstatus=", content_status='".$_POST['cont_status']."'";
   else unset($alterstatus);   
     
   if ($_POST['cont_themeid']=='new' && trim($_POST['newtheme_title'])!='' && adminaccess('contentcat')) {
    $DB->query("INSERT INTO ".$db_tab['contenttheme']." (contenttheme_catid, contenttheme_name) VALUES ('".$cont_cat."','".$_POST['newtheme_title']."')");
    $cont_themeid=$DB->insert_id();
    }
   else $cont_themeid=intval($_POST['cont_themeid']);
   if ($_POST['contentid']=='new' || $_POST['cont_duplicate']==1) {
    $DB->query("INSERT INTO ".$db_tab['content']." (content_title) VALUES ('new')");
    $contentid=$DB->insert_id();
    }
   else $contentid=intval($_POST['contentid']);
   if ($_POST['reset_counter']==1$sqlcommand=",content_views=0, content_rating=0, content_rating_total=0";
   else unset($sqlcommand);
   $DB->query("UPDATE ".$db_tab['content']." SET content_time='".$cont_time."',content_expire='".$cont_expire."',content_title='".$cont_title."',content_autor='".$cont_autor."',content_autorid='".$cont_autorid."',content_cat='".$cont_cat."',content_option='".$cont_type."',content_text='".$cont_text."',content_altdat='".$cont_altdat."',content_html='".$_POST['cont_html']."',content_ubb='".$_POST['cont_ubb']."',content_smilies='".$_POST['cont_smilies']."',content_rating_status='".$_POST['cont_rating']."',content_comment_status='".$_POST['cont_comment']."',content_themeid='".$cont_themeid."',content_filesize='".$_POST['cont_filesize']."' ".$alterstatus." ".$sqlcommand." WHERE content_id='".$contentid."'");
   
   if ($ACTION==$_POST['next']) $to=4;
   else $to=3;
   header("location: admin.php?path=content/compose.php&step=".$to."&contentid=".$contentid."&PHPKITSID=".session_id()); exit();
   }
  

Angesprochenen Zeilen in der Fehlermeldung sollten hier den Zeilen 14 und 36 entsprechen.

Da ich da nicht dran war, sonst keiner Zugang zu den Dateien hat und auch sonst nix aufregendes passiert ist, versteh ich einfach net was da jetzt los ist....auch das überschreiben der Datei mit einer aus nem Backup selbst von letztem Jahr hilft nix.

vllt. kann mir ja wer helfen.

LG Fata

P.S.
ich benutze immer noch PhpKit 1.6.1 mit den aus den alten Foren bekannten Sicherheitsupdates.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fatalus« (16. Januar 2008, 01:08)

  • Zum Seitenanfang
  • Zum Seitenende

Nicolas Männlich

Seifenkistenfahrer

Beiträge: 45

Geschlecht: Männlich

PHPKIT Version: keine

2

Mittwoch, 16. Januar 2008, 07:58

Zitat


Das "Problem" ist "lediglich" eins der neuen php version..
weiter besitzt das phpkit an jener stelle einfach keine abfrage ob man das feld leer lies..

oder man bestückt es damit: (Zeilen 72-74 damit ersetzen)


suchen:

PHP-Quelltext

1
2
3
 $cont_expire=mktime($_POST['cont_expire_h'],$_POST['cont_expire_mm'],0,$_POST['cont_expire_m'],$_POST['cont_expire_d'],$_POST['cont_expire_y']);
   if ($cont_time<|| $_POST['reset_time']==1$cont_time=time();
   if ($cont_expire<0$cont_expire=0;



ersetzen:

PHP-Quelltext

1
2
3
   $cont_expire=mktime(intval($_POST['cont_expire_h']),intval($_POST['cont_expire_mm']),0,intval($_POST['cont_expire_m']),intval($_POST['cont_expire_d']),intval($_POST['cont_expire_y']));
   if ($cont_time<|| $_POST['reset_time']==1$cont_time=time();
   if ($cont_expire<|| $cont_expire<$cont_time$cont_expire=0;


Quelle: http://www.forum.space4free.de/thread.ph…12397#post12397

Sollte dein Problem beheben ;)
  • Zum Seitenanfang
  • Zum Seitenende

Fatalus Männlich

ist gerade angekommen

Beiträge: 7

Geschlecht: Männlich

Wohnort: Ruhrpott

PHPKIT Version: 1.6.1

3

Mittwoch, 16. Januar 2008, 16:14

Hi Nicolas,
vielen lieben Dank für die schnelle Antwort - und es hat auch noch super funktioniert - es geht alles wieder.
Ich sollte vlllt. doch nochmal nen Googlekurs belegen ^^ .
Was ich nur immer noch net verstehe warum das jetzt erst nach nem Jahr auftritt, vorher hat das Newsschreiben ja wunderbar funktioniert.
Aber eigentlich ist es ja egal ;) es geht wieder und dmait bin ich vollkommen zufriedengestellt, zumal ich den Grund wohl sowieso nicht verstehen würde =P.
Also nochmals Danke - Problem gelöst und der Thread kann somit eigentlich in den Papierkorb wandern =)
LG
Fata
  • Zum Seitenanfang
  • Zum Seitenende

archipage Männlich

kennt keine frische Luft

Beiträge: 456

Geschlecht: Männlich

PHPKIT Version: 1.6.1

4

Mittwoch, 16. Januar 2008, 16:19

das liegt daran, dass eine neue php-version auf deinem server installiert wurde.
  • Zum Seitenanfang
  • Zum Seitenende

Fatalus Männlich

ist gerade angekommen

Beiträge: 7

Geschlecht: Männlich

Wohnort: Ruhrpott

PHPKIT Version: 1.6.1

5

Mittwoch, 16. Januar 2008, 17:46

Hah xD das hab ich sogar verstanden =))))
Dann überleg ich mir nochmal ob ich vllt doch nochmal alles neu mache...

Der Fehler ist jetzt schon wieder aufgetreten =/ aber in nem anderen Bereich, ich versuchs nochmal mit der Methode von oben xD

Zitat


Warning: mktime() expects parameter 1 to be long, string given in /var/www/ud08_221/html/phpkit/admin/forum/finfo.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at /var/www/ud08_221/html/phpkit/admin/forum/finfo.php:12) in /var/www/ud08_221/html/phpkit/admin/forum/finfo.php on line 37


*Edit*
ne geht leider nicht, hab den Code versucht selbstständig zu ändern:

PHP-Quelltext

1
2
3
$finfo_expire=mktime(intval($_POST['finfo_expire_h']),intval($_POST['finfo_expire_mm']),0,intval($_POST['finfo_expire_m']),intval($_POST['finfo_expire_d']),intval($_POST['finfo_expire_y']));
 if ($finfo_time<|| $_POST['reset_time']==1$finfo_time=time();
 if ($finfo_expire<|| $finfo_expire<$finfo_time$finfo_expire=0;


Aber ich denke es sollte Egal sein ^^ ist mir auch nur aufgefallen weil ich mal wissen wollte wie sich das evtl unterscheidet in den foren mit ner Foreninfo xD
LG

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fatalus« (16. Januar 2008, 17:58)

  • Zum Seitenanfang
  • Zum Seitenende

Superkater13439 Männlich

1.6.1 Groupie

Beiträge: 1 361

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.1

6

Sonntag, 16. März 2008, 17:36

Ich weiß ja nicht, ob dieses Thema noch aktuell ist, aber ich hatte dieses Problem heute in der finfo.php auch.
Hier die Änderung:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if (adminaccess('finfo')) {
 if (intval($_REQUEST['finfoid'])>|| $_REQUEST['finfoid']=='new'$finfoid=$_REQUEST['finfoid'];
 else unset($finfoid);
 if (isset($_POST['action'])) $ACTION=$_POST['action'];
 else $ACTION='view';
//Ablaufdatum vorgeben beim Verfassen
$time=time()+(20*365*24*60*60);
$finfo_expire_d=date("d",$time);
$finfo_expire_m=date("m",$time);
$finfo_expire_y=date("Y",$time);
$finfo_expire_h=date("H",$time);
$finfo_expire_mm=date("i",$time);
//Ablaufdatum vorgeben beim Verfassen
 if ($ACTION==$_POST['save']) {


LG
Kater
  • Zum Seitenanfang
  • Zum Seitenende