Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 09-01-2021, 11:27
simply
 Registrierter Benutzer
Links : Onlinestatus : simply ist offline
Registriert seit: Jun 2012
Beiträge: 2
simply befindet sich auf einem aufstrebenden Ast
Standard DB Anfrage über MySQLPdo

Hallo zusammen

Ich hänge da an einem kleineren Problemchen und zwar:
Hab da so'n kleines CMS-Dingens was natürlich eine Login-Funktion beinhaltet, was auch soweit funktioniert, aber die geschützten Seiten (also das was USER XY nicht sehen kann werden mit einer dbconn() und loggedinorreturn() aufgerufen)

In der dbconn() macht er einen Aufruf zur DB und startet noch das Userlogin (userlogin()) Also schön und gut, das Problem, ist der Server akzeptiert kein mysql mehr und mysqli (kenn ich mich nicht aus) möchte ich eig. vermeiden, weil ich nicht zwei "DB-Connection" für Passwort etc. nutzen möchte.
Dafür habe ich eine MySQLPdo was da besser funktioniert, nur kann ich diese nicht wirklich mit meiner dbconn() und/oder loggedinorreturn() und/oder userlogin() händeln.

Ich weiss ist ein wenig kompliziert, aber ich hoffe es lässt sich jemand finden, der mir hier helfen könnte.

Code:
function dbconn() {
	global $HTTP_SERVER_VARS, $_SERVER;
	
	if (!@mysql_connect('localhost', 'DBUSER', 'DBPW')) {
		switch (mysql_errno()) {
			case 1040:
			
			case 2002:
				if ($HTTP_SERVER_VARS[REQUEST_METHOD] == "GET") {
					die("<!doctype html>\n".
							"<html lang=\"de-DE\">\n".
							"<head>\n\n".
							"<meta http-equiv=refresh content=\"5 $HTTP_SERVER_VARS[REQUEST_URI]\">\n\n".
							"</head>\n\n".
							"<body>\n\n".
							"<table style=\"border: none; height: 100%; width: 100%;\">\n".
							"  <tr>\n".
							"    <td style=\"vertical-align: center;\"><h3>Die Serverlast ist momentan zu hoch. Versuche es erneut, bitte warten...</h3></td>\n".
							"  </tr>\n".
							"</table>\n\n".
							"</body>\n".
							"</html>\n");
				} else {
					die("Zu viele Benutzer. Bitte benutze den Aktualisieren-Button Deines Browsers, um es erneut zu versuchen.");
				}
			default:
				die("[". mysql_errno() ."] dbconn: mysql_connect: ". mysql_error());
		}
	}
	
	mysql_select_db('DBNAME') or die('dbconn: mysql_select_db: ' + mysql_error());
	
	userlogin();
}
die MySQLPdo wird über so eingebunden
Code:
function __autoload($class_name) {
	$class = dirname(__FILE__) ."/class_". $class_name .".php";
	if (file_exists($class)){
		require_once($class);
	}
}
$pdo = new MySQLPdo();
habe da echt keine Idee wie ich das umsetzen könnte und wäre hierbei um Hilfe froh.
Mit Zitat antworten