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: 42
» Neuestes Mitglied: codingTom67
» Foren-Themen: 147
» Foren-Beiträge: 790

Komplettstatistiken

Aktive Themen
neu anmelden
Forum: Off Topic
Letzter Beitrag: Arne Drews
12.11.2017, 21:05
» Antworten: 3
» Ansichten: 58
Prozedur ignoriert schein...
Forum: MySQL
Letzter Beitrag: Arne Drews
21.10.2017, 19:46
» Antworten: 1
» Ansichten: 67
Migrate async+syncronous ...
Forum: JavaScript / JavaScript Frameworks / Ajax
Letzter Beitrag: Till
23.09.2017, 20:33
» Antworten: 6
» Ansichten: 522
Header-Fehlermeldung, ist...
Forum: PHP Basics
Letzter Beitrag: Arne Drews
17.08.2017, 21:15
» Antworten: 1
» Ansichten: 286
Fußball-Tippspiel
Forum: Off Topic
Letzter Beitrag: Till
13.08.2017, 10:36
» Antworten: 8
» Ansichten: 2.994
UTF-8 Verschwörung Ergänz...
Forum: Off Topic
Letzter Beitrag: Arne Drews
29.06.2017, 23:01
» Antworten: 3
» Ansichten: 473
Session Files werden nich...
Forum: PHP Basics
Letzter Beitrag: Arne Drews
26.05.2017, 09:16
» Antworten: 5
» Ansichten: 764
Alles Neu macht der Mai! ...
Forum: Off Topic
Letzter Beitrag: Till
15.05.2017, 19:25
» Antworten: 0
» Ansichten: 308
[C#] Literatur zu WPF
Forum: Off Topic
Letzter Beitrag: Till
15.05.2017, 17:38
» Antworten: 1
» Ansichten: 436
Giveaways und Angebote
Forum: Off Topic
Letzter Beitrag: mermshaus
25.04.2017, 14:25
» Antworten: 2
» Ansichten: 519

 
  neu anmelden
Geschrieben von: Eumel - 09.11.2017, 01:04 - Forum: Off Topic - Antworten (3)

Keine Ahnung was das soll, aber ich musste mich eben neu anmelden -> Name und Passwort.
Angry

Drucke diesen Beitrag

  Prozedur ignoriert scheinbar Parameter?
Geschrieben von: Arne Drews - 19.10.2017, 15:05 - Forum: MySQL - Antworten (1)

Hallo,

Ich habe eine Prozedur, die ganz einfach nur Werte aus mehreren Tabellen entfernen soll:

Code:
CREATE PROCEDURE deleteBatch ( id INT )
BEGIN
   DELETE FROM `table1` where `id` = id;
   DELETE FROM `table2` where `id` = id;
   DELETE FROM `table3` where `id` = id;
   DELETE FROM `table4` where `id` = id;
END
Aufruf der Prozedur für id=5:
Code:
CALL deleteBatch( 5 )
Als Resultat dessen entfernt er mir aber grundsätzlich alle Datensätze in den Tabellen, ungeachtet der id, die ich explizit mitgebe.

Habe ich einen Denkfehler?
Danke

Drucke diesen Beitrag

  Header-Fehlermeldung, ist keine Funktion
Geschrieben von: Eumel - 15.08.2017, 21:41 - Forum: PHP Basics - Antworten (1)

Hallo,
ich experimentiere gerad etwas mit einem Erinnerungsscript für Geburtstage. Nur um etwas zu lernen und die grauen Zellen anzuregen. Also Rechnerei mit dem Datum und Stringzerlegung und Vergleiche.
Meine Entwicklungsumgebung ist ein RaspberryPi2 mit Raspian, dem Apache2 und PHP (Version?). Von meinem Windows10-Rechner aus greife ich auf den Homepageordner auf dem Pi  zu, editiere mit Notepad++ und teste vom W10-Rechner aus mittels Firefox.

Das zur kurzen Vorrede.

Ich habe eine Textdatei, die die ganzen Geburtstage enthält. Jede Zeile folgt dem Schema:
Vorname;Name;01.01.1900
Vorname2;Name2;07.02.1967 usw.

Mein Script öffnet diese Datei, liest eine Zeile ein, zerpflückt die Daten und legt sie in Einzelstrings ab. Dann wird gerechnet und bei Übereinstimmung zum aktuellen Datum wird eine Email mittels PHPMailer versandt. Das funktioniert vom Raspi aus auch anstandslos. Lade ich das Script auf meinen Webspace, bekomme ich folgende Fehlermeldung:

Zitat:Fatal error: Call to undefined function phpheader() in /WWWROOT/61910/htdocs/jubileum/birthday.php on line 1


Diese Zeile der PHP-Datei lautet:

Zitat:header ('Content-Type: text/html; charset=utf-8');

Direkt nach dem einführenden PHP-Tag.

Frage Warum kommt diese Meldung?

Fragen zu fragen? Bitte stellt sie.

Danke

Drucke diesen Beitrag

  Migrate async+syncronous require to only async
Geschrieben von: Till - 16.07.2017, 19:36 - Forum: JavaScript / JavaScript Frameworks / Ajax - Antworten (6)

Hallo,
ich habe mir die require Funktion und mein library so schön node.js like nachgebaut und die shims runtergeladen, so daß node.js scripts in der Regel im Browser funktionieren ( sogar require('fs') = FilesystemAPI/indexedDB ).
Und alles funktioniet eigentlich wunderbar, eigentlich bin ich ehrlich gesagt einwenig stolz auf mich.

Aber:
Synchrone XMLHttpRequest ist zukunft nur noch im worker erlaubt wie jeder weiß.
Meine nachgebaute require Funktion mit Cache und module context(zumteil in arbeit) unterstützt sync und oder async, je nachdem ob eine callback Funktion übergeben wird.

Ich habe auch eine vm/shim require('vm') und habe vor demnächst die module in den vm context zu schicken (ich errinere an meine frdl language Cool )

Nun gib es die eine Möglichkeit, die synchronen require calls solange in den Promise zu schicken bis er resolved wird, was aber den Prozess anhalten würde und einfrieren könnte.
Die andere Möglichkeit wäre mehr "sexy": Einen Worker zu starten, die files vorher von der VM nach dem "initial require" zu parsen/etc und die requires in den cache zu laden und das modul erst auszuführen wenn die required module im cache sind, dann nämlich funktioniert im folgenden auch das synchrone require.

Any more suggestions? Kann jemand was dazu sagen? Wißt Ihr was ich meine?

Heart Ich liebe Euch Alle, fast alle Big Grin

mfg
Till

Drucke diesen Beitrag

  UTF-8 Verschwörung Ergänzung
Geschrieben von: Till - 26.06.2017, 12:25 - Forum: Off Topic - Antworten (3)

Hallo @all,
ich beziehe mich hier auf
http://www.php-rocks.de/thema/142;775-re-session-files-werden-nicht-beschrieben.html#pid775
http://www.php-rocks.de/thema/98;506-die-utf8-verschw-rung.html#pid506
welche ich gerne ergänzen möchte, bzw. ich versuche es so gut wie geht zu reproduzieren.

(sorry, @Arne, früher hab ich es nicht geschafft, beschäftigt)

Problemstellung:
- Ich habe eine Datenbank mit "gemixten" Kollationen und entsprechenden Inhalten.

Lösung:
- Ich analysiere den Output (auf UTF-8) und passe ihn ggf. entsprechend an.
-----------------------------------------------------------------------------------
Referenz:

ob_start
mb_detect_encoding
htmlentities
html_entity_decode
htmlspecialchars_decode

PHP-Code:
$isUTF8 = function($string)
{
 
       return preg_match('%(?:
        [\xC2-\xDF][\x80-\xBF]        # non-overlong 2-byte
        |\xE0[\xA0-\xBF][\x80-\xBF]               # excluding overlongs
        |[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}      # straight 3-byte
        |\xED[\x80-\x9F][\x80-\xBF]               # excluding surrogates
        |\xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
        |[\xF1-\xF3][\x80-\xBF]{3}                  # planes 4-15
        |\xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
        )+%xs'
$string);
}; 

simple_html_dom_parser http://simplehtmldom.sourceforge.net/


PHP-Code:
$convHtmlEntities = function($str) use($contentTypes$isUTF8){

if(
true !== $isUTF8($str   ){
 
    $map = array(
 
       chr(0x8A) => chr(0xA9),
 
       chr(0x8C) => chr(0xA6),
 
       chr(0x8D) => chr(0xAB),
 
       chr(0x8E) => chr(0xAE),
 
       chr(0x8F) => chr(0xAC),
 
       chr(0x9C) => chr(0xB6),
 
       chr(0x9D) => chr(0xBB),
 
       chr(0xA1) => chr(0xB7),
 
       chr(0xA5) => chr(0xA1),
 
       chr(0xBC) => chr(0xA5),
 
       chr(0x9F) => chr(0xBC),
 
       chr(0xB9) => chr(0xB1),
 
       chr(0x9A) => chr(0xB9),
 
       chr(0xBE) => chr(0xB5),
 
       chr(0x9E) => chr(0xBE),
 
       chr(0x80) => '€',
 
       chr(0x82) => '‚',
 
       chr(0x84) => '„',
 
       chr(0x85) => '…',
 
       chr(0x86) => '†',
 
       chr(0x87) => '‡',
 
       chr(0x89) => '‰',
 
       chr(0x8B) => '‹',
 
       chr(0x91) => '‘',
 
       chr(0x92) => '’',
 
       chr(0x93) => '“',
 
       chr(0x94) => '”',
 
       chr(0x95) => '•',
 
       chr(0x96) => '–',
 
       chr(0x97) => '—',
 
       chr(0x99) => '™',
 
       chr(0x9B) => '’',
 
       chr(0xA6) => '¦',
 
       chr(0xA9) => '©',
 
       chr(0xAB) => '«',
 
       chr(0xAE) => '®',
 
       chr(0xB1) => '±',
 
       chr(0xB5) => 'µ',
 
       chr(0xB6) => '¶',
 
       chr(0xB7) => '·',
 
       chr(0xBB) => '»',
 
 
  
      
          chr
(0xE4) => 'ä',
 
            chr(0xDC) => 'Ü',
 
             chr(0xFC) =>  'ü'
 
               chr(0xD6) => 'Ö',
 
              chr(0xF6) => 'ö',
 
       
                chr
(0xDF) => 'ß',
 
       
        
              chr
(0x20AC) => '€'
 
       
    
); 
 
   
    

         $str 
strtr($str$map); 
 
       
      $str
=str_replace('å','ü',$str);
}

 
 
 $charset mb_detect_encoding($str, ((isset($contentTypes['charset']) ? $contentTypes['charset'] : 'auto'))); 
 
 return htmlentities
 
              html_entity_decode
 
                  htmlspecialchars_decode(
 
                         $str,ENT_QUOTES), 
 
               ENT_QUOTES ENT_HTML5$charset), 
 
        ENT_QUOTES ENT_HTML5$charsetfalse //  !important
 
     );
}; 

-----------------------------------------------------------------------------------

- ob_start startet den Outputbuffer
- simple_html_dom_parser -> find('text') findet Textnodes
   http://simplehtmldom.sourceforge.net/
- $isUTF8/mb_detect_encoding rät das Encoding
- $convHtmlEntities kovertiert
- htmlentities konvertiert

-----------------------------------------------------------------------------------

Hinweis:
Je nach Implementation kann das parsen mit simple_html_dom_parser sehr viel CPU verbrauchen!

-----------------------------------------------------------------------------------

Meine konkrete Implementation ist ziemlich "webfan basiert" und nicht allgemein verwendbar deshalb poste ich sie hier nicht, schicke sie aber gerne auf Anfrage per PM o.ä.

mfg
Till

Drucke diesen Beitrag

  Session Files werden nicht beschrieben
Geschrieben von: Till - 21.05.2017, 11:51 - Forum: PHP Basics - Antworten (5)

Ich bin mit meiner Migration nach php 7.1 nun fast durch und hänge nun an Sessions fest:
Egal ob ich "{WEBSPACEROOT}{/}tmp" oder "/tmp"(+open base dir) als session.save_path angebe,
es werden zwar die Session-Dateien erstellt, aber nicht mit Daten befüllt (0kb).

Code:
<?php
session_start();

if(!isset($_SESSSION['testcount']))$_SESSSION['testcount']=0;
$_SESSSION['testcount']=$_SESSSION['testcount']+1;

if (!is_writable(session_save_path())) {
   echo 'Session path "'.session_save_path().'" is not writable for PHP!<br />';
}
echo sys_get_temp_dir().'<br />';
echo session_save_path().'/'.session_id().'<br />';
echo $_SESSSION['testcount'];
Dies Ausgabe/der Counter bleibt immer auf 1 und das session file bleibt 0kb groß.

Irgendein anderer client/Anwendung(*) schafft es allerdings auf der Domain/im session.save_path session files zu erstellen welche mit Daten befüllt werden und das prefix "sess_sess" haben (statt nur "sess_).
...

EDIT 1:
*=Das ist die Production-Anwendung welche die Session auf der Test-Domain in das Verzeichnis schreibt.
Die Anwendung auf der Production-Domain verwendet allerdins das 'user' session module und session_set_save_handler(db-basiert),
hier scheint es Probleme zu geben:
- Die DB konnektiert zwar richtig in der Anwendung, es gibt allerdings noch teilweise Kollationsprobleme durch alte
 non-utf8 Daten, ich glaube aber nicht das dies hier das Problem ist?
 Ich suche weiter....!?

EDIT 2:
Mist: Jetzt geht meine alte Version auch nicht mehr, weiß aber grad spontan nicht was ich dort verändert habe.

...Sorry, ich muß wohl erstmal einen Kaffee trinken, poste aber schonmal vielleicht kennt jemand das Verhalten und hat einen Tipp für mich?

mfg
Till

Drucke diesen Beitrag

  Alles Neu macht der Mai! Migrating to php 7.x
Geschrieben von: Till - 15.05.2017, 19:25 - Forum: Off Topic - Keine Antworten

Ich will alles neu machen, aber ich weiß nicht wo ich anfangen soll Sad

Drucke diesen Beitrag

  [C#] Literatur zu WPF
Geschrieben von: Arne Drews - 04.05.2017, 15:48 - Forum: Off Topic - Antworten (1)

Hallo,

Ich würde mich gerne mal etwas tiefer mit Windows Presentation Foundation befassen.
Zündender Punkt dazu ist, dass ich in meinen C#-Applikationen gerne Spalten einer DataGrid gruppieren, filtern und sortieren möchte.
Sortieren kann ja jede DataGrid, aber eben das Filtern und Gruppieren ist etwas mühsam mit den WinForms.
Daher möchte ich das zukünftig eher in WPF umsetzen, weil es dort "besser" funktionieren soll, bzw. andere Möglichkeiten bestehen.

Befasst oder hat sich jemand damit schon mal befasst und kann mir evtl. Tipps für gute Literatur geben?
Ich habe natürlich schon einiges an Literatur gefunden, aber mich interessiert, ob jemand bereits Erfahrungen hat und mir eins empfehlen kann?


Danke und Gruß
Arne

Drucke diesen Beitrag

  Giveaways und Angebote
Geschrieben von: mermshaus - 24.04.2017, 05:31 - Forum: Off Topic - Antworten (2)

Bei Packt Publishing gibt es noch bis ca. Ende des Tages (24. April) ein kostenloses PHP-7-Ebook von Antonio Lopez:

- http://bit.ly/PacktDailyOffer

Account erforderlich.

Gestern gab es dort offenbar ein Buch zu Git. Lohnt sich vielleicht, da auch später noch reinzuschauen. Ich weiß es nicht.

Drucke diesen Beitrag

  Zend Framewok, Psr-Autoloader
Geschrieben von: Till - 04.04.2017, 14:37 - Forum: PHP Frameworks - Antworten (2)

Hallo an Alle,
ich möchte keine Grundsatzdiskussion vom Zaun brechen, auch ist es nicht wirklich wichtig, möchte es aber mal äußern und Meinungen dazu hören.

Aus verschieden Gründen (welche genau jetzt hier den Rahmen sprengen) möchte ich nun doch wohl das Zend Framework meinem Paradigma hinzufügen.

Dazu gibts eigentlich nicht mehr viel zu sülzen, was mich nur gerade beschäftigt und was mir gar nicht gefällt, es
geht im wesentlichen um Psr-0 versus Psr-4:

PHP-Code:
class Model_MyChildClass_undsoweiter ... 
Ich bevorzuge eigentlich
PHP-Code:
class <AppNamespace>/VendorNamespace/Model/MyClass .... 

Was nun, Expertenmeinungen?

Mein Framework berücksichtigt und implementiert eigentlich alle Psr-Autoloader, trotzdem gefällt es mir irgendwie nicht in bezug auf die Struktur der Application/Implementation.

mfg
Till

Drucke diesen Beitrag