PHP include Problem

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
matsen
Beiträge: 5
Registriert: Do 1. Dez 2016, 10:12
Kontaktdaten:

PHP include Problem

Beitrag von matsen » Do 1. Dez 2016, 11:11

Als erstes: Hallo!

Kurz zu meiner Person:
Bin Lehrling/Azubi als Softwareentwickler mit Grundkenntnissen in PHP, MySQL.
Sollte also Jemand keine Lust haben einem "Anfänger" zu helfen, dann bitte ich diesen Jemand ab hier aufzuhören zu lesen.


Für alle die weiterlesen:

Bin neu hier und bitte deshalb um etwas Rücksicht ;)
Das hier ist zusätzlich noch mein erster Eintrag den ich bis heute in einem Forum erstellt habe.


Problemstellung:

Ich muss Grundsätzlich mein System(welches ich von einem Mitarbeiter übernommen habe) von der Version 4.6 upgrade auf die aktuelle Version.
Hab ja schon gelesen, dass dies nicht direkt möglich ist und daher einfach eine komplette Neuinstallation von Contenido gemacht.

Das neue System läuft aktuell auf Basis von xampp.

Da ich in diesem Bereich noch relativ wenig Erfahrung habe ich einfach das System auf Basis der Version 4.6 in der Version 4.9 versucht "nachzubauen".
Hat bisher Grundsätzlich recht Gut Funktioniert.
Jedoch stehe ich aktuell vor einem Problem.

Ich habe wie gesagt das System so versucht nachzubauen in der neuen Version wie ich es von der alten Version kannte, also habe ich nicht viel darüber nachgedacht ob das in der alten Version auch richtig gemacht wurde(habe ja noch keine Kentnisse in diesem Bereich).


Ich habe das alte System 4.6 wie folgt "vorgefunden":

PHP-Files wurden in einem Modul in der Ausgabe einfach mit einem 'include' eingebunden.:

Code: Alles auswählen

<?php
include 'datei.php';
?>
Ich vermute das ist nur eine Art es zu machen, vermutlich aber nicht die "richtige".

Ich wollte fragen gibt es hier irgendwo einen Forum Thread in dem Beschrieben ist wie man richtig Scripts und der gleichen ins System einbinden und ein paar Tipps und Tricks wie man an die Ganze Sache herangeht.



Bin über jede Art von Hilfe Dankbar :mrgreen: :mrgreen: :mrgreen:
Sollte jemand noch Informationen brauchen, dann bitte einfach fragen.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: PHP include Problem

Beitrag von rethus » Do 1. Dez 2016, 12:00

Hi matsen,
❤lich Willkommen im Forum.
Das Forum ist zum Fragen da, daher brauchst du uns nicht vorwarnen, das du neu bist. Wo wir können, helfen wir gerne.

Inkludieren
Ab Contenido 4.9 gibts nen Autoloader. Infos darüber findest du hier.
https://docs.contenido.org/display/CONDEVE/cAutoload

Module migrieren
Eine gute Anlaufstelle um alte Module in eine neue Installation zu packen ist der Modul-Tester, der die (weitgehend) alle Veralteten Funtkions- und Klassen Aufrufe meldet:
http://www.contenido.org/deutsch/techni ... index.html

Deine Haupt-Info-Quellen sollten diese hier sein: Alle Links gebündelt findest du auch nochmal auf dieser Seite: https://docs.contenido.org/display/COND

Hoffe das hilft dir erstmal weiter. Und nun viel Freude mit Contenido, und einen guten Start wünsche ich dir.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

matsen
Beiträge: 5
Registriert: Do 1. Dez 2016, 10:12
Kontaktdaten:

Re: PHP include Problem

Beitrag von matsen » Do 1. Dez 2016, 13:38

Version_4_9_10.JPG
(59.76 KiB) Noch nie heruntergeladen
Version_4_6.JPG
Version_4_6.JPG (60 KiB) 2644 mal betrachtet
Hallo rethus,

Danke für deine Antwort :)

Es folgen ein paar Codezeilen der PHP-Datei die mir speziell Probleme macht(Screeshots zur veranschaulichung des Problemes findest du auch Version_4_9_10 und Version_4_6)

Code: Alles auswählen

<?php
 echo "<table width='400' height='200' valign='center' border='0' cellspacing='0' cellpadding='0'>";
	   echo "<tr>";
	   echo "<td align='top' width='300'>";
	   $end = ".jpg";

	   if ($persNr != "") {
		    echo "<img valign='top' align='right' src='upload/personal/MA_pics/$persNr$end' width='105' height='140'>";
		} else {
		    //AUSNAHME FUER MA OHNE PERSNR
		    if ($id == "1224" OR $id == "1233" OR $id == "1234" OR $id == "1235" OR $id == "1236" OR $id == "1255" OR $id == "1238" OR $id == "1214" OR $id == "1258" or $id == "1259" or $id == "1372") {
		        echo "<img valign='top' align='right' src='upload/personal/MA_pics/$kuerzel$end' width='105' height='140'>"; 
		    } else {
		        echo "<img valign='top' align='right' src='upload/personal/MA_pics/kein.jpg' width='105' height='140'>";
		    }	  
		}

	   echo "Eintrag Nr.: $id";           
	   echo "<br>";
	   echo "<b>$vn $nn</b>($kuerzel)<br>";
	   echo "$werk $abteilung<br>";
	   echo "DW: $dw | Fax: $fax | Sprechanlage: $sprechanlage | KW: $kw<br>";
	   echo "<a href = 'mailto:$email'>$email</a><br>";

   
   	   //WENN EINE MOBILNUMMER ANGEGEBEN IST, AN DIESE DAS SMS SENDEN ERMOEGLICHEN
	   if ($mobil != "") {
	   	$SMSsenden = "<font size='-2'>oder</font> <a href=\"javascript:newWindow('mis/SMS/SMS_senden.php?mobil=$mobil_SMS&von=$hostname&vn=$vn&nn=$nn');\"><font size='-2'>SMS senden</font></a>";
	   } else {
	   	$SMSsenden = "";
	   }


	   if ($hostname == $steuerPC) {

	   	//Prinzipiell mit Vorwahlen wählen
	   	$linkmobil = "<a href = 'http://$CTI:$Port/ecwebservice/eCXmlSwitch.asmx/makeCall?strNumberFrom=$nrsteuerPC&strNumberTo=$mobil_wahl' tarPOST='myIframe' onclick=\"JavaScript:window.open('mis/LOG_PhoneCalls.php?CTIserver=$CTI&nrsteuerPC=$nrsteuerPC&abgehendNRoriginal=$mobil_anzeige&NRanrufen=$mobil_wahl&hostname=$hostname&art=$artMIS', 'myIframe');\">$mobil_anzeige</a>";
	   	$linkfest = "<a href = 'http://$CTI:$Port/ecwebservice/eCXmlSwitch.asmx/makeCall?strNumberFrom=$nrsteuerPC&strNumberTo=$rufnummer_wahl' tarPOST='myIframe' onclick=\"JavaScript:window.open('mis/LOG_PhoneCalls.php?CTIserver=$CTI&nrsteuerPC=$nrsteuerPC&abgehendNRoriginal=$rufnummer_anzeige&NRanrufen=$rufnummer_wahl&hostname=$hostname&art=$artMIS', 'myIframe');\">$rufnummer_anzeige</a>";


	   	//WENN WERKSINTERN GEWAEHLT WIRD, NUR DIE DURCHWAHL WAEHLEN, NICHT UEBERS AMT MIT VORWAHL USW.
	   	if ($anfrageVonWerk == $anfrageNachWerk) {
	   		$linkmobil = "<a href = 'http://$CTI:$Port/ecwebservice/eCXmlSwitch.asmx/makeCall?strNumberFrom=$nrsteuerPC&strNumberTo=$mobil_wahl' tarPOST='myIframe'onclick=\"JavaScript:window.open('mis/LOG_PhoneCalls.php?CTIserver=$CTI&nrsteuerPC=$nrsteuerPC&abgehendNRoriginal=$mobil_anzeige&NRanrufen=$mobil_wahl&hostname=$hostname&art=$artMIS', 'myIframe');\">$mobil_anzeige</a>";
	   		$linkfest = "<a href = 'http://$CTI:$Port/ecwebservice/eCXmlSwitch.asmx/makeCall?strNumberFrom=$nrsteuerPC&strNumberTo=$dw' tarPOST='myIframe' onclick=\"JavaScript:window.open('mis/LOG_PhoneCalls.php?CTIserver=$CTI&nrsteuerPC=$nrsteuerPC&abgehendNRoriginal=$rufnummer_anzeige&NRanrufen=$dw&hostname=$hostname&art=$artMIS', 'myIframe');\">$rufnummer_anzeige</a>";
	   	}

	 	echo "Mobil: $linkmobil $SMSsenden";
		echo "<br>";
	   	echo "Rufnummer: $linkfest<br>";

	   	} else {

	   	echo "Mobil: $mobil_anzeige $SMSsenden";
		echo "<br>";
	   	echo "Rufnummer: $rufnummer_anzeige<br>";

	   }

	   echo "<br>";
	   echo "<br>";
	   echo "</td>";
	   
	   echo "</tr>";
	   echo "</table>";
	   ?>
Dies sind wie gesagt ein paar Codezeilen aus einer bestehenden PHP-Datei(nicht von mir geschrieben).

Diese Tabelle, wird aufgrund einer Datenbankabfrage in einer Schleife mehrmals erzeugt und mit Mitarbeiterdaten befüllt.
Auf den Screenshots ist zu sehen, dass im alten System alles so angezeigt wird wie es auch sein sollte, jedoch habe ich da im neuen System Probleme.

Fällt dir da etwas auf woran es liegen könnte?
Ich habe an der Grundkonfiguration von Contenido im Prinzip nichts geändert.
Habe eigentlich nur die Schriftart und die Farbe der Schriften geändert ansonsten ist alles wie es bei einer neuinstallation ist.

Liebe Grüße, matsen :mrgreen:

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: PHP include Problem

Beitrag von rethus » Do 1. Dez 2016, 16:58

Da musst du wohl ans debuggen. Die Browser-Konsole öffnen, und prüfen was da schief läuft.

Verstehe ich dich richtig, geht es hier nur um die Darstellung (ansonsten musst du schon etwas spezifischer werden).
Hier ist zu prüfen, ob die CSS geladen werden... und ob das CSS aus dem Demo-Mandanten dein Modul-CSS überlagert. Das hat eigentlich nicht wirklich was mit Contenido zu tun, das ist reines HTML/CSS.

Aber ein anderes Problem das du hast... Deine Umlaute stimmen nicht [das sieht man auf dem Screenshot der neuen Installation].
Hier müsstest du die Seite von Anfang an auf UTF8 legen, um die viel Ärger für die Zukunft zu sparen. Und beim Transfer von Daten aus der alten Datenbank in die neue darauf achten, das die zeichen auch wirklich als UTF8 in der DB ankommen.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

matsen
Beiträge: 5
Registriert: Do 1. Dez 2016, 10:12
Kontaktdaten:

Re: PHP include Problem

Beitrag von matsen » Mo 12. Dez 2016, 14:22

Kurzes Update von meiner Seite.

Habe da Problem mit dem Umbruch der Zeilen schlussendlich hinbekommen.
War wie du bereits vermutet hast ein html-Fehler.

Das Charset Problem gibt es leider immer noch.
Als erstes habe ich den Dump der entsprechenden Tabellen neu importiert, da in der DB das Charset auch nicht UTF8 war. --> stimmt jetzt!

Die DB passt jetzt, jedoch wurden nicht nur Daten aus der DB falsch angezeigt sondern auch Texte die Hard in der .php Datei stehen.

die config.php im data\config\production Ordner hab ich schon gecheckt, aber der Eintrag dort beschränkt sich meines wissens nur auf die Verbindung zur DB.

Und der Zeichensatz der Contenido installation ist auch auf UTF8 eingestellt.
Zuletzt geändert von matsen am Mo 12. Dez 2016, 15:24, insgesamt 1-mal geändert.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: PHP include Problem

Beitrag von rethus » Mo 12. Dez 2016, 14:52

Zum einen kannst du versuchen in der Datei config.php den Wert von $contenido_charset = 'utf8'; zu setzen.
Zum anderen sollte dir Bewust sein, das Dateien in einem Zeichensatz gespeichert werden. Unter linux gibst du einfach "file dateiname.php" ein, und er zeigt die welche Codierung die Datei hat (wie das unter Windoof geht... kein plan ;)

Auch die FTP-Übertragung kann je nach Client mit einem Charset belegt werden.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten