PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername/E-Mail:
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 291
» Neuestes Mitglied: awajonn11
» Foren-Themen: 171
» Foren-Beiträge: 901

Komplettstatistiken

Aktive Themen
Kaufen Sie ein TELC-GOETH...
Forum: Off Topic
Letzter Beitrag: awajonn11
12.04.2024, 13:37
» Antworten: 0
» Ansichten: 187
Kaufen Sie ein TELC-GOETH...
Forum: PHP Basics
Letzter Beitrag: awajonn11
12.04.2024, 13:35
» Antworten: 0
» Ansichten: 99
PHPMailer Pfad wird nicht...
Forum: PHP Basics
Letzter Beitrag: Arne Drews
23.08.2022, 21:07
» Antworten: 5
» Ansichten: 2.879
PHP 8.1: Endlich Enums in...
Forum: PHP Basics
Letzter Beitrag: Arne Drews
22.04.2021, 16:55
» Antworten: 1
» Ansichten: 2.698
Einfache Template Engine
Forum: PHP Template Engines
Letzter Beitrag: Arne Drews
22.04.2021, 16:49
» Antworten: 4
» Ansichten: 11.087
OAuth - Should I "scrambl...
Forum: Off Topic
Letzter Beitrag: Till
05.01.2020, 04:55
» Antworten: 0
» Ansichten: 7.883
"Invisible" Captcha
Forum: PHP Basics
Letzter Beitrag: Arne Drews
11.12.2019, 15:00
» Antworten: 5
» Ansichten: 10.414
Projektvorstellung - Test...
Forum: Off Topic
Letzter Beitrag: Till
22.11.2019, 20:03
» Antworten: 3
» Ansichten: 5.668
POST/GET routes deklarier...
Forum: PHP Basics
Letzter Beitrag: Till
14.11.2019, 19:44
» Antworten: 2
» Ansichten: 4.700
PHPMailer
Forum: PreComposed
Letzter Beitrag: Arne Drews
20.10.2019, 12:44
» Antworten: 6
» Ansichten: 8.675

 
  Gambio-GX2-Fehlermeldung: "Illegal string offset 'products_id'"
Geschrieben von: JanoschG. - 08.09.2015, 12:45 - Forum: PHP Basics - Antworten (4)

Hallo zusammen,

auf der Startseite eines Gambio-Shops (Version GX2) wird mir folgende Fehlermeldung ausgegeben:

PHP-Code:
WARNING(2): "Illegal string offset 'products_id'" in /var/www/vhosts/internetseite.de/httpdocs/templates/EyeCandy/source/classes/SpecialsContentView.inc.php:75 (Details)
Backtrace:
#0  (#SpecialsContentView) get_html called at [/var/www/vhosts/internetseite.de/httpdocs/templates/EyeCandy/source/boxes/specials.php:22]
#1  include called at [/var/www/vhosts/internetseite.de/httpdocs/templates/EyeCandy/source/boxes.php:56]
#2  require called at [/var/www/vhosts/internetseite.de/httpdocs/index.php:84] 
Da ich völliger PHP-Anfänger bzw. Nicht-Kenner bin und unser Webentwickler leider abgesprungen ist, bräuchte ich hier dringend Tipps, was ich tun soll.
(Ich hoffe auch die Anzeige des Fehlercodes in den PHP-Tags ist richtig, falls nicht bitte Bescheid geben und ich ändere das)
Vorab schonmal vielen Dank für eurer Feedback.
LG Janosch

Drucke diesen Beitrag

  PROCEDURE call über Trigger - Verständnisfrage
Geschrieben von: Arne Drews - 27.08.2015, 12:09 - Forum: PostgreSQL - Keine Antworten

Hallo,

Mal sehen, ob ich hier auch pgSQL-Profis finde.  Big Grin

Ich möchte in einem Trigger eine PROCEDURE aufrufen, was ja mit EXEC kein Problem darstellen sollte.
Allerdings habe ich mir dazu auch die Doku angesehen: http://www.postgresql.org/docs/9.4/static/plpgsql-trigger.html

PG-Doku schrieb:
Code:
CREATE TABLE emp (
   empname text,
   salary integer,
   last_date timestamp,
   last_user text
);

CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
   BEGIN
       -- Check that empname and salary are given
       IF NEW.empname IS NULL THEN
           RAISE EXCEPTION 'empname cannot be null';
       END IF;
       IF NEW.salary IS NULL THEN
           RAISE EXCEPTION '% cannot have null salary', NEW.empname;
       END IF;

       -- Who works for us when she must pay for it?
       IF NEW.salary < 0 THEN
           RAISE EXCEPTION '% cannot have a negative salary', NEW.empname;
       END IF;

       -- Remember who changed the payroll when
       NEW.last_date := current_timestamp;
       NEW.last_user := current_user;
       RETURN NEW;
   END;
$emp_stamp$ LANGUAGE plpgsql;

CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
   FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
Soweit also nichts spannendes.

Meine Frage ist, ob diese Zeile notwendig ist und warum genau?
Code:
$emp_stamp$ LANGUAGE plpgsql;

Drucke diesen Beitrag

  nginx url rewrite
Geschrieben von: Arne Drews - 11.08.2015, 23:03 - Forum: Webserver - Antworten (8)

Hallo,

In Bezug auf diesen Thread möchte ich das ganze auch auf nginx lauffähig haben.

Dazu benötige ich ein gutes Tutorial über die Rewrite-Möglichkeiten von nginx.
Die Doku hilft mir so nicht wirklich weiter, da sie auf diesen Fall bspw. nicht eingeht:

Code:
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^ index.php [QSA,L]
Vielleicht ist es auch so simpel, daß ich es nicht rauslese, dennoch würde ich gerne ein gutes Tutorial dazu durcharbeiten, falls jemand eins kennt.

Danke für Infos
Arne


EDIT:
Ich habe eben diesen Converter gefunden, der mir folgendes konvertiert:
Code:
location / {
   if (!-e $request_filename) {
       rewrite ^(.*)$ /index.php break;
   }
}
Sieht für mich zwar logisch und nachvollziehbar aus, aber falls jemand wie gesagt gute Tutorials kennt, wie man selbst auf dieses Konstrukt kommen kann, wäre ich weiterhin dankbar.

Drucke diesen Beitrag

  Name für neue Board-Software
Geschrieben von: Arne Drews - 10.08.2015, 00:58 - Forum: Off Topic - Antworten (11)

Hallo an alle,

Im Zuge des Aufbau dieses Forum und der Neuauflage von php.de, habe ich einige Ideen gesammelt, die ich derzeit an einer eigenen Board-Software umsetze.
Die Board-Software soll die auf php-rocks.de zugrunde liegende MyBB-Software ablösen und dann ständig erweitert/angepasst werden.

Was ich derzeit suche, ist ein guter Name für eine solche Board-Software.

Das Board steht auf folgenden Eckpfeilern:

  • reines html5/css3*
  • responsive fähig
  • Twig basierend
  • PHP v5.4+ erforderlich
  • MySQL 5.6+ / pgSQL 9.4**
* Browser-Inkompatiblitäten werden tlw. durch Einsatz von JS-Frameworks korrigiert, nicht aber als primäre Zielsetzung betrachtet!
** auswählbar bei der Installation, pgSQL-Unterstützung ist derzeit allerdings noch experimentell.

Das Layout ist in Objekte aufgeteilt, die auf jeweils eigene Controller zurückgreifen. Damit wollte ich maximale Anpassbar-/Erweiterbarkeit erreichen, ohne mit anderen Elementen zu kollidieren.

Das erstmal nur als Grundinformation, ich denke, daß ich das beim aktuellen Stand in einigen Wochen schon mal als Test-Installation zur Verfügung stellen werde.
Das werde ich hier dann auch ankündigen und hoffe auf freiwillige Tester für konstruktives Feedback.

Was derzeit - wie angesprochen - fehlt, ist eine einprägsame Bezeichnung.
Eine Auswahl meiner Schnellschüsse:
  • mycb.de ( MyCommunityBoard )
  • xcb.de ( ExtendedCommunityBoard )
  • xboard.de / x-board.de ( ExtendedBoard )
  • fireboard.de / fire-board.de
  • u.a.
Aber bei allen existiert bereits eine Domain.
Wer bessere Ideen für Bezeichnung und/oder Domain hat, darf dies gern hier mitteilen.

Ich bin dankbar für jeden ernst gemeinten Vorschlag.

Danke
Arne

Drucke diesen Beitrag

  mail tutorial mit swiftmailer
Geschrieben von: HaJa - 09.07.2015, 21:00 - Forum: PHP Basics - Antworten (4)

hallo,

ich weiss nicht ob ich hier überhaupt antwort bekomme aber versuche es mal.
bei google habe ich das tutorial hier gefunden http://www.php-rocks.de/thema/51-html-mail-versenden-mit-phpmailer.html und hab das auch erfolgreich umsetzen können.
soweit cool. ein kolege von mir meinte allerdings das er swiftmailer besser findet. also wollte ich das mal ausprobieren.
die erklärungen auf der herstellerseite verstehe ich aber ehrlich gesagt nicht ganz und scheitere daran.
habt ihr dazu auch ein tutorial?

danke schon mal
Hannes

Drucke diesen Beitrag

  undefined index: var in ... on line
Geschrieben von: Arne Drews - 26.06.2015, 00:50 - Forum: Fehler, Warnungen und Hinweise - Keine Antworten

Notice: undefined index: var in ...


Häufige Notice bei Verwendung von Formularen


Was ist passiert?
Diese Notice tritt auf in Verwendung eines Array, auf dessen Schlüssel wir zugreifen möchten, der nicht existiert.
In vielen Fällen handelt es sich zwar einfach nur um einen Tippfehler des Schlüsselnamens, aber auch bei Verwendung eines Formulares erhalten viele Einsteiger diese Notice.

Um das nachzustellen, schauen wir uns das folgende minimale "Affen"-Formular an:
PHP-Code:
<?php

echo $_POST['sometext'];

?>
<form name="test" action="" method="post">
    <input type="text" name="sometext" value="" />
    <input type="submit" name="submitted" value="absenden" />
</form> 
Die Fortgeschrittenen unter euch erkennen auf den ersten Blick, was hier passiert. Der erste Aufruf der Seite wirft die beschriebene Notice:
Zitat:Notice: Undefined index: sometext in /var/www/vhosts/php-rocks.de/httpdocs/.../....php on line 3

Um das Problem zu beheben, müssen wir einfach nur abfragen, ob das Formular überhaupt gesendet wurde, bzw. Daten im POST-Kanal vorhanden sind.
Dazu bedienen wir uns - um nicht bei der Abfrage eine ähnliche Notice zu erhalten - der Funktion isset():
PHP-Code:
if ( isset($_POST['submitted']) ) {

 
   echo $_POST['sometext'];


Wenn wir nun keinen Tippfehler gemacht haben, sind wir die ungewünschte Notice los und auch der erste jungfräuliche Aufruf der Seite wird nicht mit einer Notice bestraft.


POST und GET
Häufig tritt dieses Problem auch auf, wenn Formulare bspw. per POST übertragen werden, man aber versucht die Daten aus $_GET zu bekommen.
Dies ist einer der ersten Punkte, die man prüfen sollte, wenn der Fehler in Verbindung mit einem Formular auftritt.


Hinweis

Dies sind nur zwei von vielen Ursachen für eine Notice dieser Art. Erhält man eine solche Notice, kann man also i.d.R. davon ausgehen, daß man einen Vertipper in einem Array-Schlüssel hat oder über einen falschen Kanal auf Formulardaten zurückgreifen möchte.

Drucke diesen Beitrag

  Cannot add/modify header information - headers already sent
Geschrieben von: Arne Drews - 24.06.2015, 00:43 - Forum: Fehler, Warnungen und Hinweise - Keine Antworten

Warning: Cannot add/modify header information - headers already sent


Ein Klassiker unter den unverhofften PHP-Warnungen.

Was ist passiert?
Diese Warnung tritt i.d.R. auf, wenn versucht wird, den HTTP-Header zu modifizieren, nachdem bereits Dokumenten bezogene Inhalte an den Browser gesendet wurden.
Oft fällt einem dies im ersten Moment gar nicht mal auf, denn die Ursache für die Warnung ist vielfältiger, als manch einer denkt.

Um das prinzipiell verständlich zu machen, stellen wir das Problem auf einfachste Weise mal nach:
PHP-Code:
.<?php
header 
'Content-Type: text/html; Charset=utf-8;' ); 
Der Punkt vor dem <?php soll hier mal ein einfaches Leerzeichen darstellen ( gibt der Editor leider bzw. Gott sei dank nicht her, daher als Beispiel der Punkt ), also für einen unerfahrenen User kaum als wirkliche Ausgabe zu erkennen.
Dennoch ist dies eine Zeichen bereits eine Ausgabe, die an den Browser gesendet wird. Und genau dies kann der folgenden Funktion header(...); zum Verhängnis werden, denn die kann den HTTP-Header nicht mehr verändern, da die Ausgabe bereits einen eigenen HTTP-Header gesendet hat.

Das Problem tritt also tatsächlich nicht nur bei der Verwendung von header() auf, sondern bei allen Funktionen, die den HTTP-Header modifizieren.
Folgende häufig verwendete PHP-Funktionen zählen u.a. zu diesen:
  • header()
  • session_start()
  • session_regenerate_id()
  • setcookie()
  • setrawcookie()
Jetzt wissen wir, wo das Problem liegt und entfernen mühsam alle Ausgaben, die sich vor diesen Funktionen eingeschlichen haben.
Doch PHP bleibt beharrlich und meldet weiterhin dieselbe Warnung?! Der Grund dafür ist mit hoher Wahrscheinlichkeit dann...

Die Unicode-Falle
Die Verwendung von Unicode - allen voran UTF8 - ist heutzutage Quasi-Standard, wenn es bspw. um CharsetEncoding von Webprojekten geht.
Viele Editoren oder IDE's speichern die Daten im UTF8-Modus. Genau hier muß man aber aufpassen, daß man nicht nur UTF8, sondern UTF8 ohne BOM ( ByteOrderMark ) verwendet!

Das ByteOrderMark ist eine Kennung für die Unicode-Kodierung, die den Datenstrom einleitet und im Falle von UTF8 aus der Bytesequenz EF BB BF besteht.
Das wird in Browsern häufig als  interpretiert und ausgegeben ( im Quelltext des Browsers erkennbar ).

Daher Dateien immer UTF8 ohne BOM speichern!

Hinweis
Output Buffering kann das hier beschriebene Problem zwar in manchen Fällen umgehen, behebt dieses aber nicht! Eine saubere Programmierung ist immer die beste Fehlerbehandlung.

Drucke diesen Beitrag

  Welchen Sinn hat eval() im Templating?
Geschrieben von: Arne Drews - 10.06.2015, 08:29 - Forum: PHP Basics - Antworten (5)

Hallo,

Mich stört ja schon von Anfang an, daß im Templating eval() benutzt wird.
Zwar werden damit keine Benutzereingaben ausgewertet, aber ich selbst habe eval() immer gemieden und kann mich auch heute nicht wirklich damit anfreunden.

Wenn ich folgende Zeilen sehe:

PHP-Code:
eval('$index = "'.$templates->get('index').'";'); 
ist das auf den ersten Blick für mich dasselbe, wie das hier:
PHP-Code:
$index $templates->get'index' ); 
, denn in beiden Fällen sollte $templates->get( 'index' ); ausgeführt werden.

Scheinbar wird aber im zweiten Fall das index-Template nicht geparst, Ausgabe ( gekürzt ):
Code:
{$header}
...
{$footer}

Warum ist das so?
Ich würde eval() gerne ersetzen, müsste dazu aber erstmal wissen, was die beiden Zeilen unterscheidet.
Vielleicht hat ja jemand einen geistigen Anstoß für mich?

Danke

Drucke diesen Beitrag

  Thema "erledigt"-Funktion implementiert
Geschrieben von: Arne Drews - 08.06.2015, 16:46 - Forum: Off Topic - Keine Antworten

Ab sofort kann die Thema-Erledigt Funktion genutzt werden, um ein Thema als erledigt oder unerledigt zu kennzeichnen.
Berechtigt dazu sind neben dem Thread-Ersteller Administratoren und Moderatoren.

Visuell stellt sich das in der Thread-Ansicht so dar:
[Bild: http://www.php-rocks.de/uploads/thema-erledigt-thread-ansicht.jpg]

und in der Foren-Übersicht so:
[Bild: http://www.php-rocks.de/uploads/thema-erledigt-forum-ansicht.jpg]

Drucke diesen Beitrag

  Blog gestartet
Geschrieben von: Arne Drews - 30.05.2015, 01:59 - Forum: Off Topic - Antworten (2)

Hallo zusammen,

Ich habe für www.php-rocks.de einen Blog angelegt: http://php-rocks-kb.blogspot.de/.
Da werde ich - so wie es die Zeit und mein Wissen zulassen - in der nächsten Zeit immer mal wieder kurze Tipps, Infos oder Anleitungen posten.

Da einige von euch immer wieder mal hier vorbei schauen, würde ich mich freuen, euch auch dort zwischendurch anzutreffen.
Sollten Interessierte aus der Community Interesse haben dort auch was zu posten, bitte mich für Details per PN anschreiben.

Auf gutes Gelingen und "Gut Blog...", würde ich mal sagen...
Wink

Drucke diesen Beitrag