Zum Inhalt springen

Impulz

Mitglieder
  • Gesamte Inhalte

    277
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Impulz

  1. ereg is leider ziemlich langsam. Einfacher waere es anstatt == "<head>" die funktion strstr() zu benutzen um zu ueberpruefen ob ein teilstring in einem string vorhanden is. Es koennte sein dass auch das \n am Ende der Zeile noch mitgelesen wird, das muesstest du sonst nochmal getrennt rausfiltern. gruss Michael
  2. Cookies ist ne spezielle Unterstuetzung der Browser dafuer. Das sind ja auch nur kleine Datenschnipsel. Und wie die gespeichert werden kannst du nicht beeinflussen. Auf Textdateien kannst du so keinesfalls zugreifen. Waer ja noch schoener wenn jeder auf alle Dateien auf meiner Platte zugreifen koennte Uploaden (HTML Formular), dann editieren und speichern ginge, allerdings ist dort natuerlich die ganze Zeit User-Interaktion erforderlich (er muss es hochladen, er muss die Datei wieder ueberschreiben). Und das eigentliche editieren geschieht dann auch nur auf dem Server. gruss Michael
  3. Ich moechte sehen wie du mit PHP (einer serverseitigen Programmiersprache) eine Client-Datei bearbeitest. Und ja, man kann relativ einfach eine Zeile aus einer Textdatei, die sich auf dem Server befindet loeschen. Z.B. indem man die komplette datei per file() in ein Array einliest (jede Zeile ist ein Element) und dann das entsprechende Element rausschmeisst (unset) und das Array nacher wieder mit implode zusammenfuegst und in die Datei schreibst. Alternativ kannste mit fgets eine Datei zeilenweise einlesen, die eine Zeile ueberspringen (bspw. anhand eines zaehlers den du mitlaufen laesst) und nacher das ganze wieder in die Datei schreiben. Das Prinzip ist also in beiden Faellen gleich. Einlesen, dabei die eine Zeile weglassen/rausschmeissen und das neue Ergebnis wieder in die Datei schreiben. gruss Michael
  4. Das ist die Holzhammer Methode Etwas eleganter gehts indem du den Checkboxnamen wie ein Array waehlst (also bspw: name="widgets[]"), durch value werden dann die elemente unterschieden. Nacher schauste nach welche Elemente in dem Array sind, denn die waren angekreuzt (unangekreuzte werden nicht uebergeben). Genauer zu finden bei KK: http://www.koehntopp.de/php/webvariablen.html#formular-checkbox gruss Michael
  5. In PHP gehts mit ini_set("include_path","<pfade>"); am anfang der datei. Pfade werden durch ':' voneinander getrennt. Relative Pfad muessten eigentlich gehen, habs aber nicht probiert.
  6. Hallo, ich weiss nicht ob ich dich richtig verstanden habe, aber ueber mysql_num_rows (nach select) oder ueber count() kannste rausfinden wieviele elemente in einer tabelle sind. Ein Array kannst du uebergeben indem du es serialisierst (serialize() funktion), die laenge von GET-Parametern (also als direktes anhaengsel an die URL) ist jedoch begrenzt. Falls das nicht deine Fragen beantwortet erklaer mal was genau du vor hast Michael
  7. Oh, na dann bin ich mir ziemlich sicher dass das mit dem DirectoryIndex nicht klappen wird. Aber trotzdem, viel Glueck!
  8. Hallo, die Anweisung die du suchst heisst DirectoryIndex. Ob du diese jedoch in der .htaccess aendern darfst, haengt von den AllowOverride Einstellungen deines Providers ab. Solltest du es nicht aendern duerfen, jedoch eine index.php als Startseite benutzen koennen, hilft dir vermutlich folgendes kleines Skript: index.php: <?php header("Location: <urlzuflash"); ?> [/PHP] gruss Michael
  9. Wie oben schon gesagt, wird beim ersten Aufruf die Variable verwendet ohne dass sie vorher definiert oder deklariert worden waere. Die Meldung ist auch lediglich ein Notice, welches bei den meisten Provider normalerweise sowieso nicht ausgegeben wird, da es nur ein Hinweis ist und keine Warnung oder ein Fehler. Deaktivieren kann man es ueber die php.ini. Derzeit steh vermutlich folgendes drin: error_reporting = E_ALL d.h. es wird alles ausgegeben. Wenn du die Zeile ins folgende aenderst/aendern laesst, sollten Hinweise nicht mehr ausgegeben werden: error_reporting = E_ALL & ~E_NOTICE (also Alles ausser Notices)
  10. Du kannst Session-Variablen seit Version 4.1.0 ueber $_SESSION['var'] ansprechen, also in deinem Beispiel $_SESSION['test']. $_SESSION, $_GET, $_POST, $_REQUEST, $_SERVER, ... sind auto-global, also ueberall verfügbar ohne sie extra als global zu definieren.
  11. Mit dem Befehl flush() werden die seit Beginn bzw dem letzten flush angesammelten Ausgaben direkt an Webserver zur Auslieferung an den Client uebergeben. Allerdings kann es durchaus sein, dass der Webserver, ein Proxy oder der Client selbst das nochmal zwischenspeichert bevor er es ausgibt. So gibt der IE es beispielsweise nur aus wenn sich mind. 255 Zeichen angesammelt haben. Hier muss man ggf manuell noch whitespace erzeugen. Ausserdem ist zu beachten dass einige Browser Tabelleninhalte nur darstellen, wenn die Tabellen komplett sind, also auch geschlossen. Genaueres hierzu: http://php.net/flush (englische Version enthaelt mehr infos als die deutsche).
  12. Meistens duerfte es so laufen, dass die Session-ID zusammen mit einem Timestamp in eine Datenbank geschrieben wird (vom Script, nicht zwangsweise durch php-Einstellungen) und bei jedem Seitenaufruf des Users der Timestamp aktualisiert wird. Der Counter ueberprueft dann nacher noch wieviele User in den letzten x Minuten aktiv waren. Das ganze gibt also nur etwa an wieviele User da sind, nicht genau. Anders ginge es noch dass beim Verlassen der Seite nochmal ein Script aufgerufen wird (mini-popup das sich autom. schliesst oder so) welches dann den Eintrag aus der DB loescht. Killt allerdings jemand seinen Browser, wars das auch.
  13. Wow, ich bin beeindruckt. Nicht schlecht muss ich sagen Hab mich mit Perl bisher noch nicht sonderlich beschaeftigt, daher hab ich mich auch dafuer interessiert. Danke fuer die Muehe Michael
  14. Danke Danke Aber dein Perl Ding sah auch nicht schlecht aus, kannste Zeile 2 und 3 mal kurz erklaeren? Ich vermute mal die zweite splittet nach % auf, aber die dritte?
  15. Probiers mal so, wenn der Ausschnitt aus dem HTML Code kommt. <a href="sub_sites/pic_site<?=$seite?>_animation.html" target="_blank"> [/PHP] Falls er in nem PHP-Block per Echo ausgegeben wird: [PHP] echo "<a href=\"sub_sites/pic_site".$seite."_animation.html\" target=\"_blank\">";
  16. ah so.. na gut. dann halt $inhalt=implode("",file("/usr/local/fortune/fortunes")); $eintraege=explode("\n%\n",$inhalt); echo $eintraege[rand(0,sizeof($eintraege))]; [/PHP]
  17. Nicht genau das gleiche, aber genauso effektiv: $zeilen=file("/usr/local/fortune/fortunes"); echo $zeilen[random(sizeof($zeilen))]; [/PHP]
  18. "Dont feed the trolls." Und wie willst du mit PHP eine Datei auf den Rechner des Clients uebertragen??
  19. in $result steht nur das Ergebnis des Queries drin, nicht die selektierten Werte bzw 0 wenn das Query fehlgeschlagen ist (z.b. ungueltige Syntax). Du musst aus $result mit mssql_fetch_* erst die eigentlichen Daten holen. Probiers mal so: $query = "SELECT COUNT(*) FROM TReport WHERE Nummer='$nummer'"; $result = MSSQL_QUERY($query); $daten=mssql_fetch_row($result); if ($daten[0]==0) { print "<center>ERROR: Datensatz nicht vorhanden.</center>"; exit(); } [/PHP] (ungetestet) gruss Michael
  20. Hae? Wieso? Wird die Datenbankverbindung mit dem jeweiligen Login des Users aufgebaut? Das PHP Session-Management hat SIDs per GET als Fallback drin. Traffic duerfte in nem Firmennetz wohl kaum ne Rolle spielen, insb. wenn es sich um Unterschiede von ein paar Byte handelt. Man sollte vertrauliche Daten so selten wie moeglich uebers Netz jagen, Verschluesselung ist hier auch nicht das non-plus-ultra. Jeder der die Seite oeffnen kann, sieht auch die Art der Verschluesselung (da Javascript, anderweitige client-side Verschluesselung duerfte schwierig werden) und kann sie knacken. Bei ner Session werden die ganzen Daten auf dem Server abgelegt und nur eine Session-ID uebertragen, die keinerlei Auskunft ueber die gespeicherten Daten gibt und deren Gueltigkeit man z.b. zeitlich einschraenken kann indem man ein Timestamp abspeichert wann die Session gestartet wurde. gruss Michael
  21. Ach so.. jo, clientseitig kannst du mit PHP nichts machen. Fuer das was du machen willst, brauchste wahrscheinlich ActiveX (brr).
  22. jo kannste. kannst auch backticks nutzen.. also $textoutput=`c:\windows\logoff.exe`;
  23. Hallo, deine Ueberpruefung ist falsch. Du ueberpruefst auf affected rows, also veraenderte Zeilen. Bei einem create werden aber keine Zeilen veraendert. Siehe folgendes: mysql> create table test (nummer int(20), regel char(255) ); Query OK, 0 rows affected (0.02 sec) Ueberpruef am besten ob das Query korrekt ausgefuehrt wurde anstatt der affected rows. gruss Michael
  24. nicht ganz richtig.. das problem ist das fclose in der while schleife. Du schliesst die Datei nach dem ersten lesevorgang, egal ob du schon am ende bist oder nicht. pack das close hinter die while schleife. die 'leerzeilen' kommen dadurch zustande dass das schreiben in die datei immer ausgefuehrt wird, selbst beim ersten laden der seite wenn noch gar keine werte durch das formular uebergeben wurden. um den block wo du schreibst muss noch ne bedingung hin ob auch daten vom formular abgeschickt wurden.
  25. Also die PHPLib is fuer Sessions ziemlich unnoetig. PHP4 hat selber eine Session-Verwaltung drin. phplib hat noch ne auth dabei, aber die machst du vermutlich selber. Das einzig noch nuetzliche an der phplib is imho die template klasse. Zu Sessions lies dir am besten folgendes durch: http://www.koehntopp.de/php/version4_session.html gruss Impulz

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...