Zum Inhalt springen

xmurrix

Mitglieder
  • Gesamte Inhalte

    56
  • Benutzer seit

  • Letzter Besuch

  1. Hallo Seva, normalerweise kannst du mit Ecipse PDT sofort loslegen, nachdem du es heruntergeladen und in ein Verzeichnis entpackt hast. In der Regel hast du Rechtsoben die Liste der Ansichten (Perspectives), ist dort PHP nicht vorhanden, kannst es über das Icon "Open Perspective" einfügen. Ich bin mir jetzt nicht ganz sicher, in wieweit du das Konzept bei Eclipse kennst und mit welchen Editoren/IDEs du bisher Erfahrung gesammelt hast. Während in gewöhnlichen Editoren du einfach eine Datei öffnen und bearbeiten kannst, musst du hingegen in Eclipse erstmal ein Projekt anlegen. Das geht über das Menü "File -> New -> Project" bei PDT ist auch "File -> New -> PHP Project" dabei. Im nächsten Fenster gibst du dem Projekt einen Namen und definierts das Verzeichnis, in dem die Projektdateien abgelegt werden sollen. Du kannst auch ein vorhandes Verzeichnis mit Sourcen angeben (Create project from existing source). Als Einstieg in PDT kannst dir auch ein paar Tutorials reinziehen, z. B. die http://www.youtube.com/watch?v=VRFZpk-YHl4. Gruß xmurrix
  2. Hallo, Es ist tatsächlich so, dass alle Scripte bei jedem Aufruf neu eingebunden werden. PHP ist eine reine Interpretersprache, d h. der Code wird jedes Mal eingelesen, analysiert und ausgeführt. Das mag auf den ersten Blick nicht performant sein, aber es gibt auch dafür Möglichkeiten durch Einsatz diverser Cache-Systeme (APC, eAccelerator, memcache usw.). Dabei werden die Sourcen auch vorkompiliert und im Speicher abgelegt. Auch wenn PHP-Code nicht gecached wird, ist die OO-Programmierung trotzdem Sinnvoll. OOP muss ja nicht unbedingt den Compilersprachen vorenthalten sein. Natürlich leidet die Performance bei Einsatz von Frameworks, Abstraktion/Kapselung ist eigentlich immer mit Performanceverlust verbunden, dafür erhöht sich die Wartbarkeit der Scripte. Bei komplexen Projekten ist das bis zu einem gewissen Grad wichtiger als die Performanceeinbuße, der man mit Codeoptimierung, Caching oder Hardware entgegenwirken kann. Der Fehlerlevel lässt sich in der php.ini einstellen, ist es auf E_STRICT gesetzt, wird einiges vom Interpreter bemängelt, auch der Zugriff auf Variablen, die vorher nicht initialisiert wurden. Eine explizite Deklaration einer Variablen wie in Java ist nicht möglich. Die Option sorgt E_STRICT dafür, dass z. B. $foo=1; echo $Foo; zur einer Fehlermeldung führt, sofern $Foo nicht schon vorher initialisiert wurde. PDT ist auf jeden Fall empfehlenswert, ob sich der Umstieg zu Zend Studio lohnt, hängt eher von den jeweiligen Anforderungen an die IDE ab. Unter Zend Studio - Versionsvergleich - Zend.com gibt es einen Vergleich von beiden Entwicklungsumgebungen. Nach der Installation von manchen Plugins (Subclipse, Aptana) stehen einige Funktionalitäten auch unter PDT zur Verfügung. Meines Wissesns ist das Debuggen unter Zend Studio besser. Ob damit an Haltepunkten das Ausführen von Functions/Methoden möglich sind, kann ich dir nicht sagen. Static Methoden/Eigenschaften sind ja dafür gedacht, um diese auch ohne vorherige Instanzierung der Klasse verwenden zu können. Auch wenn die Scripte jedes mal neu geladen werden, kann man mit PHP die Vorteile von statischen Methoden/Eigenschaften verwenden. Das Singleton Pattern wird dort eingesetzt, wenn z. B. eine Instanz eines Objektes nur einmal pro Scriptaufruf erstellt werden soll. Bei komplexen Projekten kommt es schon mal vor, das sehr viele Sourcen includiert werden und wenn eine DB-Connection dann an 10 verschiedenen Stellen nötig ist, wird durch Einsatz von Singleton, das Objekt nur einmal Instanziert, also eine Verbindung aufgebaut. Auch wenn in Java oder C# die Sourcen vorkompiliert werden, werden alle benötigen Objekte bei jedem Aufruf unter Java und C# genauso neu erstellt. Das Speichern von Objekten (inkl. aktuellem Zustand) ist wie in Java oder C# auch in PHP möglich. Es sind doch einige Unterschiede zwischen PHP und Java oder C#, dennoch kann man mit PHP mittlerweile einiges anstellen - wünsche dir auf jeden Fall viel Spass damit. Gruß xmurrix
  3. Überprüfe doch mal in der php.ini die Werte für session.save_handler, session.save_path und session.use_cookies. Folgende Einstellungen sollten drin stehen: session.save_handler = "files" ; kann auch ein anderer ordner sein (hier braucht php schreibrechte) session.save_path = "C:\\WINDOWS\\Temp" ; sonst wird die sessionid nicht mit dem cookie übertragen. session.use_cookies = 1 [/PHP] Gruß xmurrix
  4. Hallo, du kannst auch das onScroll-Event per JavaScript hinzufügen, also ohne es als Attrubut im body-Tag anzugeben. ... <script type="text/javascript"><!-- // <![CDATA[ function onScroll(){ //todo on scroll event } // add onscroll-event if (window.addEventListener) { window.addEventListener("scroll", onScroll, false); } else if (window.attachEvent){ window.attachEvent("onscroll", onScroll); } //]]> --></script> ... Das ist auch XHTML-Strict. Per CSS wäre es eleganter, aber da du ja sowieso JavaScript verwendest, spielt es keine Rolle... Gruß xmurrix
  5. Die JavaScript-Funktion, die auf den Body-Tag zugreift, sollte nicht im Head sein, da das Script beim Client dann ausgeführt wird, bevor das Body Element beginnt. Also falls im Head, dann beim onload-Event, z. B.: <script type="text/javascript"><!-- function changeBody(){ alert(document.body.style.width); document.body.style.width = "100px"; alert(document.body.style.width); } onload = changeBody; // --></script> oder nach dem öffnen des Body-Tags: <body> <script type="text/javascript"><!-- alert(document.body.style.width); document.body.style.width = "100px"; alert(document.body.style.width); // --></script> Gruß xmurrix
  6. Hallo, der horizontale Scrollbalken wird eigentlich nur vom IE angezeigt, weil dieser von einer 100% Breite ausgeht. Ist der Inhalt länger als, die vorhandene Höhe, wird die Breite des entstehenden vertikalen Scrollbalkens zur der Breite hinzugerechnet und somit ist der Inhalt breiter als 100%. Wenn du das umgehen möchtest, kannst du in der CSS die Breite vom body-Tag auf z. B. auf 95% setzen, oder du gibst eine feste Breite in Pixel ein (definierte breite - breite des scrollbalkens). Beim Weglassen der Doctype-Angabe XHTML-Transitional, läuft der IE im Quirks-Modus und zeigt keinen horizontale Scrollbalken, aber das ist wohl nicht im Sinne von validem HTML-Code. Gruß xmurrix
  7. xmurrix

    md5 erzeugen

    Hallo burnersk, hast du schon die VB-Implementationen unter http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html ausprobiert? Gruß xmurrix
  8. In allen if()-Aweisungen überprüfst du auf Werte von $_FILES, also wird die SQL-Anweisung nie vollständig und halb fertig an die DB geschickt das solltest du mit $_REQUEST machen, also if(!empty($_REQUEST['Name'])) { $insert_sql.=", Name='".mysql_escape_string($_REQUEST['Name'])."'"; //$insert_sql.="', Name='".htmlentities($_REQUEST['Name'], ENT_NOQUOTES); } [/PHP] Außerdem solltest du einen Schalter einbauen, der auf True gesetzt wird, wenn mindesten ein Feld korrekte Daten hat. Ansonsten hast du wieder ein unvollständiges Statement, wenn der User nichts eingibt und das Formular abschickt.
  9. Das onChange-Event funktioniert nicht bei hidden-Feldern, da musst du auf auf eine JavaScript-Funktion im Opener ausweichen. window.opener.testsript(); Gruß xmurrix
  10. Muss meine Aussage bezgl. IFrame korrigieren. Natürlich ist die Sache mit Lösung I-Frame nur dann die beste Möglichkeit, die Session zu behalten, wenn: - php,ini nicht geändert werden kann/soll - ini_set() deaktiviert ist Oder irre ich mich da?
  11. Hallo, man kann eine eigene Session-Verwaltung programmieren (z. B. DB basierend). Ist natürlich sehr zeitaufwändig. Eine andere Möglichkeit ist z. B. in einem vesteckten I-Frame die Seite mit JavaScript alle 5 Minuten neu zu laden. Geht natürlich nur wenn JavaScript aktiviert ist, ist aber die einfachste Art, die Session beizubehalten, ohne die php.ini ändern zu müssen. Noch einfacher ist es mit ini_set(), wenn der Provider die Funktion ini_set() aus Sicherheitsgründen nicht gesperrt hat. Gruß xmurrix
  12. Bist schon auf dem richtigen Weg - Schreibe mal nur folgendes in deine .htaccess rein: RewriteEngine on RewriteRule ^(.*).html$ t.php?id=$1
  13. Also, so ist's auf jeden Fall nicht richtig (nicht valides HTML/XHTML), eher folgendermaßen: CSS: div#Menu .indented{margin-left:3em;} HTML: <div id="Menu"> <ul> <li><a href="./index.html">Home & News</a></li> <li><a href="ftp://mychrisoft.game-host.org/">Downloads</a></li> <li><a href="./tcl-projects.html">Tcl Projekte</a></li> <li> <ul class="indented"> <li><a href="./tcl-projects.html">4 Gewinnt</a></li> <li><a href="./tcl-projects.html">Chess</a></li> <li><a href="./tcl-projects.html">Screen</a></li> <li> <ul class="indented"> <li><a href="./tcl-projects.html">4 Gewinnt</a></li> <li><a href="./tcl-projects.html">Chess</a></li> <li> <ul class="indented"> <li><a href="./tcl-projects.html">4 Gewinnt</a></li> <li><a href="./tcl-projects.html">Chess</a></li> <li><a href="./tcl-projects.html">Screen</a></li> <li><a href="./tcl-projects.html">Tetris</a></li> <li><a href="./tcl-projects.html">Space</a></li> </ul> </li> <li><a href="./tcl-projects.html">Screen</a></li> <li><a href="./tcl-projects.html">Tetris</a></li> <li><a href="./tcl-projects.html">Space</a></li> </ul> </li> <li><a href="./tcl-projects.html">Tetris</a></li> <li><a href="./tcl-projects.html">Space</a></li> </ul> </li> <li><a href="/phpMyAdmin/index.php">phpMyAdmin</a></li> </ul> </div>
  14. Hallo CHris08156, ein Untermenü sollte innerhalb eines Listenelementes (<li>) untergebracht sein, und auch am besten als eine neue Liste, also: <div id="Menu"> <ul> <li><a href="./index.html">Home & News</a></li> <li><a href="ftp://mychrisoft.game-host.org/">Downloads</a></li> <li><a href="./tcl-projects.html">Tcl Projekte</a></li> <li> <ul> <li><a href="./tcl-projects.html">4 Gewinnt</a></li> <li><a href="./tcl-projects.html">Chess</a></li> <li><a href="./tcl-projects.html">Screen</a></li> <li><a href="./tcl-projects.html">Tetris</a></li> <li><a href="./tcl-projects.html">Space</a></li> </ul> </li> <li><a href="/phpMyAdmin/index.php">phpMyAdmin</a></li> </ul> </div> Gruß, xmurrix
  15. Hallo SNOWMAN, Dateihandle ist "$configfile" und in der while-Bedingung steht !feof($file)) drin. Merkst du was? Du überprüfst den Dateizeiger einer anderen offenen Datei aber nicht von $configfile -> also Endlosschleife :-) Gruß xmurrix

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...