Hallo,
ich bin ein kompletter Anfänger was PHP angeht. Jetzt habe ich hier ein Modul was ich mir so angepasst habe wie ich es brauche. Leider habe ich beim umbauen mit PHP 5 gearbeitet.
Jetzt wollte ich es einsetzen - TaDa der Server läuft mit PHP 7.
Jetzt mein Problem, ich kann nicht erkennen was unter PHP 7 aus dem Script nicht mehr läuft. Geschweigeden wie es aussehen muss damit es über PHP 7 läuft.
Gibt es Tools die einem sagen hier das muss so aussehen oder einem das sogar umschreiben ?
Oder gibt es hier jemand der mir sagen kann - hier das muss anders gemacht werden ?
Vielen Dank
ich bin ein kompletter Anfänger was PHP angeht. Jetzt habe ich hier ein Modul was ich mir so angepasst habe wie ich es brauche. Leider habe ich beim umbauen mit PHP 5 gearbeitet.
Jetzt wollte ich es einsetzen - TaDa der Server läuft mit PHP 7.
Jetzt mein Problem, ich kann nicht erkennen was unter PHP 7 aus dem Script nicht mehr läuft. Geschweigeden wie es aussehen muss damit es über PHP 7 läuft.
Gibt es Tools die einem sagen hier das muss so aussehen oder einem das sogar umschreiben ?
Oder gibt es hier jemand der mir sagen kann - hier das muss anders gemacht werden ?
Vielen Dank
PHP-Code:
<?php
//defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
# Standard-Tabelle fuer den Start festlegen
$std_table = "con_pifa_projekte";
# Liste der Tabellen mit Zuordnung Tabelle => Name, Index-Spalte, (Verknuepfte Tabelle, Blaetterfunktion)
//Optional:
//Verknuepfte Tabellen: linked : "verknuepfte Spalte"
//Blaetterfunktion: browse : "1"
$tables = array (
"con_pifa_projekte" => array("name" => "Artikel und Beschreibung", "index" => "id"),
//"con_shop_varianten" => array("name" => "Preise und Varianten", "index" => "id", "linked" => "varianten_id", "browse" => "1" ),
//"con_shop_versand" => array("name" => "Länder, Zahlung, Versandkosten", "index" => "id")
);
#Konfiguration der Tabellenspalten und der Eingabefelder
#(Bei fehlender Tabelle in der Auflistung werden alle Datenfelder angezeigt)
// Liste der Spalten mit Zuordnung Spalte => Array mit Parametern
$rows["con_pifa_projekte"] = array(
"id" => array("name" => "ID", "view" => "-1"),
"projektnr" => array("name" => "Projekt Nr"),
"einrichtung" => array("name" => "Einrichtung"),
"kostenstelle" => array("name" => "Kostenstelle"),
"titel" => array("name" => "Titel"),
"beschreibung" => array("name" => "Beschreibung"),
"schwerpunkt" => array("name" => "Schwerpunkt"),
"zielgruppe" => array("name" => "Zielgruppe"),
"online" => array("name" => "Online","view" => "3", "values" => array(online,offline)),
);
#Definieren der verknuepften Tabellen
//linkedtables: Bei Bedarf verknuepfte Tabellen auflisten. Uebergabe der verknuepften Tabelle und Spalte
//$linkedtables = array(
//"con_pifa_projekte" => array("table" => "con_pifa_projekte", "linked_table" => "con_shop_varianten", "linked_column" => "varianten_id")
//);
//-----------------------------------------------------------------------------------------------------
# Standardeinstellungen fuer Standard-Tabelle und Selectbox
if (count($tables) > 1) {
$show_tables = 1;
if ($std_table == null) $std_table = key($tables);
} else {
$show_tables = 0;
$std_table = key($tables);
}
##### Functionen #####
//...
//GET und POST Variablen
$params = array_merge($_GET, $_POST);
/
//Beim Start (nichts ausgewaehlt) Standardtabelle anzeigen
if(!$table) $table = $std_table;
//Pruefen der Index-Spalte
$index = $tables[$table]["index"];
if(!$index) die("Für die Tabelle '$table' wurde keine Index-Spalte definiert!");
$rows_defined = $rows[$table] ? TRUE : FALSE;
$data = array();
# Zugangsdaten Datenbank aus Contenido config uebergeben
$mysql_host = $cfg['db']['connection']['host'];
$mysql_user = $cfg['db']['connection']['user'];
$mysql_password = $cfg['db']['connection']['password'];
$mysql_db = $cfg['db']['connection']['database'];
mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_db);
// Datenbank utf8
mysql_set_charset('utf8');
// Struktur der Tabelle
$result = mysql_query("describe $table");
//Datensaetze in Array uebergeben
while($record = mysql_fetch_array($result)) {
if(!$rows_defined) $rows[$table][$record[0]]["name"] = $record[0];
$data[$record[0]] = $params["variables"][$record[0]];
}
if($save) {
$mysql_data = $data;
foreach($mysql_data as $key => $value) {
//Werte mit Hochkomma umschliessen
$mysql_data[$key] = "'".$mysql_data[$key]."'";
}
if($new_record == 'on')
{
//Neuer Datensatz
$mysql_data[$index] = "NULL";
$result = mysql_query("insert into $table values (".implode(",", $mysql_data).")");
if (mysql_error()) echo '<p style="color:#FF0000;">Fehler: '.mysql_error().'</p>';
$row = mysql_insert_id();
} else {
//Datensatz speichern
$result = mysql_query("replace into $table values (".implode(",", $mysql_data).")");
if (mysql_error()) echo '<p style="color:#FF0000;">Fehler: '.mysql_error().'</p>';
$row = mysql_insert_id();
}
$kopieren="";
}
if($delete && $row) {
//Datensatz loeschen
$result = mysql_query("delete from $table where $index = '$row'");
$row = NULL;
}
$where = "";
if($reset_filter) {
$order = NULL;
$reverse = NULL;
$set_filter = NULL;
$filter = NULL;
$query = NULL;
} elseif($set_filter) $where = " where $set_filter like '%$filter%'";
if($show_tables) $title = "";
else $title = $tables[$table]["name"] ? " - ".$tables[$table]["name"] : " - Tabelle '$table'";
$selected = " selected style="color:white;background-color:black"";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Datenbank Editor</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" language="JavaScript">
<!--
function confirm_deletion() {
check = confirm('Wollen Sie den Datensatz wirklich löschen?');
if(check) return true;
else return false;
}
function e(index) {
//Aufruf: onClick fuer klickbare Datensatzzeile und Datensatz blaettern
//alert (index);
if (index) location.href = '<?php echo "main.php?area=fwa_projekte&frame=4&row=' + index + '".($table == $std_table ? "" : "&table=$table")?>';
}
//-->
</script>
<link href="plugins/fwa_projekte/css/styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method="POST">
<div id="fwa_projekte">
<div id="titel"><p>Datenbank Editor</p></div>
<?php
/*
#Wenn mehrere Tabellen zur Auswahl stehen wird eine Selectbox angezeigt
if($show_tables and !$row)
{
echo '<div class="schalter">';
echo 'Tabelle:';
echo '<select style="width:300px;margin-left:20px;margin-right:100px;" name="table" onChange="document.forms[0].submit()">';
foreach($tables as $var => $val)
if ($val["view"] != -1) {
echo "<option value="$var"".($table == $var ? $selected : "").">".($val["name"] ? $val["name"] : "'$var'")."</option>\n";
}
echo '</select>';
echo '</div>';
}
*/
?>
<?php
#SQL Filter
if(!$row)
{
echo '<div class="schalter">';
echo '<select style="margin-right:10px;" name="set_filter">';
echo '<option></option>';
foreach($rows[$table] as $var => $val) {
echo "<option value="$var"".($set_filter == $var ? $selected : "").">{$val["name"]}</option>\n";
}
echo '</select>';
echo '<input style="margin-right:10px;" type=text name="filter" value="'.$filter.'">';
echo '<input style="margin-right:10px;" type=submit value="Filter" style="width:100;">';
echo '<input style="margin-right:10px;" type=submit name="reset_filter" value="Alle anzeigen" style="width:100;">';
echo '</div>';
}
?>
<?php
if(!$row) {
#Datensatztabelle: Uebersicht
echo '<table cellspacing="1" cellpadding="5" bordercolor="white" border="0" bgcolor="#F0F0F0" width="100%">';
//Tabellenkoepfe schreiben
echo '<tr>';
foreach($rows[$table] as $var => $val) {
if($order == $var) {
if(!isset($reverse)) $reverse_str = "&reverse=";
else $reverse_str = "&reverse=".($reverse xor 1);
} else $reverse_str = "&reverse=";
//Tabellenköpfe
if ($rows[$table][$var]["viewtab"] != -1 && $table == "con_shop_varianten")
{
//Bei waShop con_shop_varianten Auswahl nicht sortierbar
echo "<th bgcolor="#006EBE" style="color:white">{$val["name"]}</td>\n";
}
elseif ($rows[$table][$var]["viewtab"] != -1)
{
//Sortierbar
echo "<th bgcolor="#006EBE"><a href="main.php?area=fwa_projekte&frame=4&set_filter=$set_filter&filter=$filter&order=$var$reverse_str&table=$table" style="color:white">{$val["name"]}</a></td>\n";
}
}
echo "<th bgcolor="#006EBE"> </td>";
if ($table==$linkedtables[$table][table]) {
//weitere Spalte fuer Schalter Varianten
echo "<th bgcolor="#006EBE"> </td>";
}
echo "</tr>\n";
//Tabellenzeilen schreiben
echo "<tr title="bearbeiten" style="cursor:pointer">\n";
//default: nach indes sortieren
if(!$order) $order = $index;
//Sondersortierung Shop
//if ($table == 'con_pifa_projekte') {
//$order = "gruppe";
//$sort2 = ", gruppe asc, (sort_gruppe is NULL OR sort_gruppe='') asc, sort_gruppe asc";
//}
//$query ? $query : "select... ist eine Alternative if Anweisung: if ($query) { $query; } else { select... }
$result = mysql_query($query ? $query : "select * from $table $where order by `$order`".($reverse ? " desc" : " $sort2"));
while($record = mysql_fetch_array($result)) {
//$record = format_open($record);
foreach($rows[$table] as $var => $val)
//klickbare Datensatzzeile
if ($rows[$table][$var]["viewtab"] != -1) echo "<td".($val["align"] ? " align=".$val["align"] : "")." style="cursor:pointer" bgcolor="white" onClick="e({$record[$index]})">{$record[$var]}</td>\n";
if ($table==$linkedtables[$table][table]) {
//Schalter Datensatz loeschen anzeigen
echo "<td title="" style="width:20px;cursor:auto"><a href="main.php?area=fwa_projekte&frame=4&row={$record[$index]}".($table == $std_table ? "" : "&table=$table")."&delete=1" onClick="return confirm_deletion()"><img src="plugins/fwa_projekte/img/delete.gif" border=0 alt="löschen"></a></td>\n";
} else {
//Schalter Datensatz loeschen fuer Varianten Tabelle
echo "<td title="" style="width:20px;cursor:auto"><a href="main.php?area=fwa_projekte&frame=4&contenido=".$sessid."&varianten={$record['varianten_id']}&row={$record[$index]}".($table == $std_table ? "" : "&table=$table")."&delete=1" onClick="return confirm_deletion()"><img src="plugins/fwa_projekte/img/delete.gif" border=0 alt="löschen"></a></td>\n";
}
if ($table==$linkedtables[$table][table]) {
//Schalter Varianten bearbeiten anzeigen
echo "<td title="" style="width:20px;cursor:auto"><a href="main.php?area=fwa_projekte&frame=4&linked_table={$linkedtables[$table][linked_table]}&linked_column={$record[$linkedtables[$table][linked_column]]}" ><img src="plugins/fwa_projekte/img/varianten.gif" border=0 alt="varianten bearbeiten"></a></td>\n";
}
echo "</tr>\n";
}
if(!mysql_num_rows($result)) {
echo "<tr><td colspan=".count($rows[$table])." height=50 align=center bgcolor="white">Es wurden keine Datensätze gefunden.</td><td> </td></tr>\n";
}
echo "</table>\n";
}
?>
<?php
$rows["con_pifa_projekte"] = array(
"id" => array("name" => "ID", "view" => "-1"),
"projektnr" => array("name" => "Projekt Nr"),
"einrichtung" => array("name" => "Einrichtung"),
"kostenstelle" => array("name" => "Kostenstelle"),
"strasse" => array("name" => "Straße"),
"postleitzahl" => array("name" => "Postleitzahl"),
"ort" => array("name" => "Ort"),
"telefon" => array("name" => "Telefon"),
"email" => array("name" => "E-Mail Adresse"),
"ansprechpartner" => array("name" => "Ansprechpartner*in"),
"titel" => array("name" => "Titel"),
"kostenstelle" => array("name" => "Kostenstelle"),
"beschreibung" => array("name" => "Beschreibung", "view" => "3"),
"schwerpunkt" => array("name" => "Schwerpunkt"),
"zielgruppe" => array("name" => "Zielgruppe"),
"ziel" => array("name" => "Ziel"),
"alter" => array("name" => "Alter"),
"dauer" => array("name" => "Dauer"),
"wochentag" => array("name" => "Wochentag"),
"geschlecht" => array("name" => "Geschlecht"),
"tageszeit" => array("name" => "Tageszeit"),
"faehigkeiten" => array("name" => "Fähigkeiten"),
"aufwandsentschaedigung" => array("name" => "Aufwandsentschädigung", "view" => "3", "values" => array(ja,nein)),
"werbung" => array("name" => "Werbung", "view" => "3", "values" => array(ja,nein)),
"region" => array("name" => "Region", "view" => "3", "values" => array(MI,BI,HF,LIP,HX,GT,PB)),
"online" => array("name" => "Online","view" => "3", "values" => array(online,offline)),
);
if($row || $new) {
#Tabelle Datensatz bearbeiten
echo '<table border=1 width="680" bgcolor="white">';
echo '<tr>';
$num_rows = 0;
if($row) {
$result = mysql_query($query ? $query : "select * from $table where $index = '$row'");
if($num_rows = mysql_num_rows($result)) {
$record = mysql_fetch_array($result, MYSQL_ASSOC);
} else {
$record = $data;
}
} else $record = $data;
//Array $rows können für jede Tabelle zusätzliche Optionen festgelegt werden.
foreach($record as $var => $val)
{
$rd = $rows[$table][$var];
if($new) $val = $variables[$var];
if($rd["view"] == -1) {
echo "<input name="variables[$var]" type=hidden value="$val">\n";
continue;
}
echo '<td width=180>'.($rd["name"] ? $rd["name"] : "<i>$var</i>").':</td>';
echo '<td width=500>';
if($rd["view"] == 1)
{
echo "<input name="variables[$var]" type=password value="$val" style="width:100%">";
}
elseif(($rd["view"] == 2 || $rd["view"] == 3) && is_array($rd["values"]))
{
echo "<select name="variables[$var]"".($rd["view"] == 3 ? " multiselect" : "").">";
foreach($rd["values"] as $key => $value) {
echo "<option".($value == $val ? $selected : "").">$value</option>\n";
}
echo "</select>";
}
elseif($rd["view"] == 4)
{
echo "<textarea name="variables[$var]" rows=".($rd["rows"] ? $rd["rows"] : $std_rows)." style="width:100%">$val</textarea>";
}
else
{
if($rd["view"] == -2) {
echo "<input style="background-color: #e9967a;" name="variables[$var]" type=text value="$val" style="width:100%">";
} else {
echo "<input name="variables[$var]" type=text value="$val" style="width:100%">";
}
}
echo '</td>';
echo '</tr>';
}
echo '</table>';
/*
#Anzeige und Blätterfunktion
if ($tables[$table][browse] == "1")
{
echo '<div class="blaettern">';
//Zuerst varianten_id holen
$result0 = mysql_query("SELECT * FROM ".$table." WHERE id = '".$row."'");
$row0 = mysql_fetch_object($result0);
#Spezielle Sortierung
//Nur fuer waShop: Sortierung con_shop_varianten mit Sortiertabelle con_shop_sort
if ($table == 'con_shop_varianten')
{
$query_speziell = "SELECT
a.*, b.wert, b.num
FROM
con_shop_varianten AS a
LEFT JOIN
con_shop_sort AS b
ON a.abmasse = b.wert
WHERE
a.varianten_id = '".$row0->varianten_id."'
order by
a.ausfuehrung asc,
b.num asc,
LPAD(SUBSTRING_INDEX(a.abmasse,' ',1),8,'0') asc,
a.abmasse asc,
(a.sort_ausfuehrung is NULL OR a.sort_ausfuehrung='') asc,
a.sort_ausfuehrung asc";
}
//$query ? $query : "select... ist eine Alternative if Anweisung: if ($query) { $query; } else { select... }
$result1 = mysql_query($query_speziell ? $query_speziell : "SELECT * FROM ".$table." WHERE ".$tables[$table][linked]." = '".$row0->$tables[$table][linked]."' order by id asc");
$von = mysql_num_rows($result1);
$arr1 = array();
$z1 = 0;
while ($row1 = mysql_fetch_object($result1)) {
$z1++;
$arr1[$z1] .= $row1->id;
if ($row1->id == $row) $id1=$z1;
}
if ($von > 0) {
//echo ' DS: '.$id1.' von '.$von.' Varianten';
echo ' <input style="margin-right:10px;" type=button value="<<<" onClick = "e('.$arr1[$id1-1].')" /> Datensatz: '.$id1.' von '.$von.' <input style="margin-left:10px;margin-right:40px;" type=button value=">>>" onClick = "e('.$arr1[$id1+1].')" />';
}
echo '</div>';
}
*/
echo '<div class="schalter">';
//Schalter
echo '<input type=checkbox name="new_record" id="new_record"><label for="new_record">Als neuen Datensatz speichern</label><br>';
echo '</div>';
echo '<div class="schalter">';
//Speichern
echo '<input style="float:left;margin-left:100px;" type=submit name="save" value="Speichern">';
//Schalter Uebersicht
if ($tables[$table][browse] == "1")
{
//Uebersicht Varianten
echo "<input type=button value="Übersicht" onClick="location.href = 'main.php?area=fwa_projekte&frame=4&linked_table=".$table."&linked_column=".$record[$tables[$table][linked]]."&table=$table'">";
} else {
//Uebersicht
echo "<input type=button value="Übersicht" onClick="location.href = 'main.php?area=fwa_projekte&frame=4&linked_column=&table=$table'">";
}
echo '</div>';
}
?>
</div>
</body>
</html>
Kommentar