FORUM WERKSTATT STORIES ARCHIV KLEINANZEIGEN
Avatar

PHP Profis hier ?

tino335i @, Freitag, 11. Januar 2019, 17:52 (vor 12 Tagen)

Bei den Kleinanzeigen geht seit gestern (Hochrüstung des Webservers auf PHP 7.2) eine Seite nicht mehr. Nämlich die zum aufgeben. Ich habe hier mal den Quelltext. Welcher Befehl ists der in 5.6. noch ging und nun in 7.2 nicht mehr ?


<?php

/**
* Insert new ad (user)
*
* @package ClassAd
* @author cts projects&software <classad@projects-and-software.de>
* @copyright cts projects&software 2002-2006
* @copyright All rights reserved
* @version 4.00
*
*/

require "inc/includer.inc.php";
require_once("inc/countries.inc.php");
require_once("inc/guielements.inc.php");
require "inc/badword.class.php";


// Try to extend the max. execution time
// Works only, if PHP-server is NOT configured for safe-mode
@set_time_limit(180);


// Check security options - allowed to post an ad directly?
function CheckSecurity() {

// Check, if direct submit is allowed
$DirectSubmit = 1;

// Allow direct submit?!
if($GLOBALS['SEC_DIR_SUB_UNKNOWN']==false && is_array($_SESSION['s_UserInfo'])==false) {
// Unknown user, no right to submit directly
$DirectSubmit = 0;
} elseif(isset($_SESSION['s_UserInfo']) && is_array($_SESSION['s_UserInfo'])) {
// Known user, check rights
if((($_SESSION['s_UserInfo']['userrights']& 1) && $GLOBALS['SEC_DIR_SUB_USER'])
|| (($_SESSION['s_UserInfo']['userrights']& 2) && $GLOBALS['SEC_DIR_SUB_AUTHUSER'])
|| (($_SESSION['s_UserInfo']['userrights']&16) && $GLOBALS['SEC_DIR_SUB_COMMERCIAL'])
|| (($_SESSION['s_UserInfo']['userrights']&64) || ($_SESSION['s_UserInfo']['userrights']&128)))
{
// Normal user, Auth user, Comm user (all with permission) or (Debug-)Admins
$DirectSubmit = 1;
}
} elseif(!is_array($_SESSION['s_UserInfo'])) {
$DirectSubmit = ($GLOBALS['SEC_DIR_SUB_UNKNOWN'] ? "1":"0");
}
return $DirectSubmit; // 0 -> not allowed, 1-> Allowed
}


// Add an ad to the database
function AddToDatabase($PicLink="") {

// Security
$strRequest = CheckSecurity();

// Add Advertisment to Database
$DB = new SQLDatabase();
$DB->dbconnect();

if($DB==false) {
echo LANG_DBCONNECTERRORCUST;
die();
}
$RetVal = $DB->dbinsert(BuildSQLString($PicLink,$strRequest));
if($RetVal) {
LogActions("MSGA","Msg-ID: ".$RetVal." - Titel: ".$_POST['f_title'].
" - IP: ".$_SERVER['REMOTE_ADDR'],$_SESSION['s_UserInfo']['userid']);

// Free Field to database
if($GLOBALS['USE_FREE_FIELDS']) {
if(($DB->dbinsert(BuildFFSQLString($RetVal))==false) && ($GLOBALS['DEBUG'])) {
ShowErrorMessage("Problems inserting free field data!");
}
}
// Do the request work
if($strRequest!="1") {
SendAdCheckRequest($RetVal,false);
}
elseif($GLOBALS['SEC_SUB_ADMIN_INFO']) {
SendAdCheckRequest($RetVal,true);
}
}
return $RetVal;
}

// Build SQL String to insert FreeField data
function BuildFFSQLString($iAdId=0) {

if($iAdId <=0) { return false; }

$sql = "INSERT INTO cf_adfreerows ".
"(adid, freecol01,freecol02,freecol03,freecol04,freecol05,".
"freecol06,freecol07,freecol08,freecol09,freecol10,freecoldesc)

mehr geht leider hier nicht in einem Beitrag zu schreiben. Bei Bedarf schicke ich gerne die Datei rum.

mfg tino

PHP Profis hier ?

Andreas Schneider @, Samstag, 12. Januar 2019, 08:19 (vor 11 Tagen) @ tino335i

Hi Tino,

schick mir mal die Datei bzw. welches Paket verwendest Du für die Kleinanzeigen?

Typisch ist es, sofern mysql verwendet wird (sieht mir aber bis hierher nicht so aus),
dass beim Umstellen auf PHP 7.x zwingend das Modul mysqli.so (statt mysql.so) zu verwenden ist.

Check mal ob mysqli geladen ist (vermutlich durch den Hoster).
Dann wäre es nur die Umstellung in den Zeilen die mysql_query, mysql_fetch_row
und mysql_close verwenden.

Gruß
Andi

--
Reparaturen von Kombiinstrumenten - E23 - E24 - E28 - E30 - Admin E24-Forum
https://forum.6ercoupe.de/
http://e28-forum.lewonze.de/forum/
http://www.7-forum.com/forum/forumdisplay.html?f=6

PHP Profis hier ?

caesar78, Sonntag, 13. Januar 2019, 15:04 (vor 10 Tagen) @ tino335i

Hallo Tino,

du hast von 5.x auf 7.2 direkt gewechselt? Mutig, Mutig.

Welche Fehlermeldung wird den ausgeworfen bzw. was steht in den error Logs? Seit 5.x gab es einige grundlegende Änderungen auch was das aufrufen von user bezogenen Variablen angeht (_Post, Session, etc).

Gruß
Carsten

Avatar

PHP Profis hier ?

tino335i @, Sonntag, 13. Januar 2019, 17:43 (vor 10 Tagen) @ caesar78

Also ich habe zahlreichen Fehlermeldungen analysiert. Das wäre jetzt ein richtiges Projekt, für das ich keine Zeit habe. Alle möglichen Variablen falsch definiert. Naja dass script ist eh schon in die Jahre gekommen und wird vom Ersteller nicht mehr supported.

Ich baue grad was neues. Kann hier vorübergehend schon getestet und genutzt werden:

https://www.e30.de/markt/

mfg tino

PHP Profis hier ?

caesar78, Sonntag, 13. Januar 2019, 20:16 (vor 10 Tagen) @ tino335i

oh, das ist wirklich super. Danke für den Tipp!

Avatar

PHP Profis hier ?

cw @, Berlin, Montag, 14. Januar 2019, 07:21 (vor 9 Tagen) @ tino335i

Morgen Tino,

tja so geht es einem (Zeitfaktor) ... das war auch der Grund warum ich auf 02er Seite (http://marktplatz.bmw-02-club.de) auf Osclass gewechselt bin, ist sogar Open Source ...

--
Grüße .......Carsten

Avatar

PHP Profis hier ?

tino335i @, Montag, 14. Januar 2019, 08:34 (vor 9 Tagen) @ cw

Auch ne gute Quelle. Ich habe ja ein wenig nach Opensource Kleinanzeigen gesucht und nichts so recht passendes gefunden. Ich werde jetzt erstmal mit Kogao starten. mfg tino

PHP Profis hier ?

Phild ⌂ @, DO, Montag, 14. Januar 2019, 12:49 (vor 9 Tagen) @ tino335i

Nice... das neue Layout! Ich hoffe das kommt bald. Die alte Kleinanzeigenfunktion ist schon übel...;)

--
fuckthemoderncrap.com

PHP Profis hier ?

tronitec @, Montag, 14. Januar 2019, 14:37 (vor 9 Tagen) @ tino335i

Sieht sehr gut aus

powered by my little forum