kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: mysql_fetch_row für prepared statements

    geschrieben von scout

    Hey, evtl. hilft dir ja dieses Beispiel weiter... http://www.lima-city.de/thread/mysql-injectionen-verhindern/page%3A0/perpage%3A20#711815
  • in: Opennic ("das zweite Web") - Erfahrungen

    geschrieben von scout

    Also persönlich kenne ich diesen Service nicht, aber es scheint als ob es ein stink normaler DNS Server ist. Die Namensauflösung passiert nach dem gleichen Prinzip, wie im Internet auch, nur dass die registrierten Domains NICHT den Root.DNS Servern bekannt gegeben werden.
    Demzufolge muß jeder der den Service nutzen will, auch seine DNS Einstellungen anpassen, so dass genau diese DNS Server abgefragt werden.

    nicoa schrieb:
    ... ob man die dort kostenlos erhältlichen Domains (.glue, .geek, .free, ...) irgendwie auch anders als über die dort eingetragenen DNS-Server besuchen kann ...


    NEIN, da wie oben schon geschildert, die Domains NICHT den Root-DNS Servern bekannt gemacht werden ;-)
    Es sei denn... man schreibt die Domain-IP-Zuordnung bei sich in die lokale Hosts Datei (C:\WINDOWS\system32\drivers\etc\hosts ) dann wird der Name lokal zur IP aufgelöst - ohne jegliche DNS Server.


    Grüßle
  • in: in array keys neu zuweisen

    geschrieben von scout

    businessplan schrieb:
    wie bekomme ich das Array so, dass die Keys "normal" aufsteigend sind


    $input = array(0 => 'dfsdf', 4 => 'sfddf', 34 => 'sfdsf');
    
    $new = array_merge($input);


    Grüßle
  • in: RegEx/PHP URL umschreiben

    geschrieben von scout

    Das ist soweit möglich. Man muß allerdings zwei Sachen unterscheiden:

    1. deine Links auf der Webseite:
    Diese mußt du selbst per PHP halt in deinem Format formatieren und ausgeben.

    2. Die Umwandlung des Requests in ein Url taugliches Format
    D.h. die URL die im Browser eingegeben wird bzw. die Url die bei dir auf der Webseite angeklickt wird, in ein Format zu bringen, das der Webserver damit arbeiten kann. Bei diesem Schritt hilft dir mod_rewrite
    (Konvertierung domain.de/234323234/1231231 unsichtbar in domain.de/index.php?eid=234323234&aid=1231231 womit der Webserver aufgerufen wird)

    Grüßle
  • in: Webseite erfolgreich auf UTF-8 umstellen

    geschrieben von scout

    zerojan schrieb: @ scout
    Ist das richtig so?


    Jain, dieser Wert hat nur noch Einfluss auf zum Bsp. Sortierreihenfolge usw. allerdings NICHT auf die Daten selbst.
    Du mußt dir vorstellen...Latin1 benötigt zum Speichern 1 Zeichenbreite...utf8 hingegen 2 Zeichenbreiten ;-)
    Die Kollation ist richtig, nur die Daten dann nicht mehr - diese werden nicht mitgeändert ;-) Aus diesem Grund hilft da nur Daten Dumpen und neu einspielen.


    zerojan schrieb: @ scout
    Ist die von dir genannte Methode immer nötig?

    Naja kommt ganz drauf an wie CLEAN du die ganze Sache haben willst... ich hab durchaus auch Kunden denen langt es utf-8 Daten in eine latin1 Datenbank zu füttern. Solange das Verfahren hinten dran zum Auslesen der Daten das gleiche bleibt, wird dabei auch kein Problem auftreten. Wird hingegen später ein neues externes Programm geschrieben, dass die Daten anders abruft bzw. speichert, gibts dann ein Problem.
    Aus diesem Grund mach ich mir die Mühe über "mysqldump --default-character-set=utf-8 ..." und importiere diese neu.
    siehe auch: http://dev.mysql.com/doc/refman/5.1/de/mysqldump.html

    zerojan schrieb: @ scout
    Und was bewirkt deine oben genannte Lösung genau? Das ist mir noch nicht ganz klar.

    Dass die Zeichen in der Datenbank auch UTF-8 Zeichen sind und keine Latin1 Zeichen.

    Grüßle
  • in: Webseite erfolgreich auf UTF-8 umstellen

    geschrieben von scout

    Hi,

    es könnte auch sein, dass die Datenbankverbindungen vor deinem session_start() machst und dort jetzt eine Fehlermelung ausgegeben wird... am Besten du schreibst session_start() erstmal vor alles andere... also auch vor require(), include() usw.

    Außerdem mußt du der Datenbank mitteilen, dass deine Zeichen die du empfangen willst, du jetzt gerne in utf-8 haben magst.
    Dazu schreibst du hinter jedem mysql_connect()
    bei PHP < 5.2:
    <?
    mysql_query("SET NAMES 'UTF-8'");
    ?>


    ab PHP 5.2.3:
    <?
    mysql_set_charset('UTF8', $link);
    ?>


    Damit deine Daten in der Datenbank dann allerdings einheitlich sind (also bis jetzt latin1 und ab jetzt utf8) müsstest du die Daten auch konvertieren. Dazu am Besten ein Dump ziehen und als export zeichensatz utf-8 angeben. Danach die Datei wieder einspielen ;-)
    Um dir keine Daten zu verlieren würde ich das allerdinsg erstmal in eine NEUE Datenbank einspielen und schauen ob alles so stimmt.
    So bist du vor Datenverlust sicher.

    Grüßle
  • in: achtung virenfalle! google-suche manipuliert?

    geschrieben von scout

    Nunja, da es dir offensichtlich egal ist, was mit dem Rechner passiert und sich die Viren tummeln... heißt das nun NEUINSTALLATION !
    Viel Spaß.
  • in: The path you entered doesn't contain valid ImageMagick binaries

    geschrieben von scout

    Hmm,

    also gm.exe klingt irgendwie nach GraphicsMagic ... evtl. wird ja auch nur geprüft ob GraphicsMagic installiert ist?
    Zu finden ist GraphicsMagic unter ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/windows/

    Und falls du eine aktuellere ImageMagic brauchst... http://www.imagemagick.org/download/binaries/
    Da gibts auch ein *.zip was ohne Install gehen müsste.

    Zu combine.exe fällt mir leider nichts ein... könnte allerdings in älteren Versionen vorhanden gewesen sein, was später dann nicht mehr benötigt wurde.

    Grüßle
  • in: get funktion bei php geht nicht

    geschrieben von scout

    bergfink schrieb:
    Das ist der code:
    // ...
    	if($matches){
    		echo "&lt;html&gt;&lt;body&gt;&lt;a href='javascript:void(self.location.reload())'&gt;reload pic&lt;/a&gt;&lt;img src='http://cmspic$matches[1].jpg'/&gt;&lt;/body&gt;&lt;/html&gt;";
    	}
    // ...

    und da ist er eingebaut:
    &lt;iframe src="http://bergfink.lima-city.de/b/get_feratel_pan.php?bla=5201" usw...


    Das Problem ist, dass $matches in jedem Fall ein Array ist, du allerdings auf ein Boolean Wert mit if abprüfst.
    Da das Array nie true werden kann, bekommst du auch nichts angezeigt ;-)

    Richtig wäre:
    if (is_array($matches)) ...


    @evil-devil: er holt sich bestimmt den Content von einer anderen Webseite - somit wäre die URL schon ok ...nur moralisch ist Content-Klau nicht so schick ;-)

    Grüßle
  • in: The path you entered doesn't contain valid ImageMagick binaries

    geschrieben von scout

    Hi,

    so genau lässt sich das mit dem Codeschnipsel nicht herausfinden.
    Die einzigste Fehlermeldung die was aussagt ist: "File does not exist" zu deutsch "Datei existiert nicht"

    Aus deinem Debug Output entnehme ich dass zum Bsp folgendes Kommando ausgeführt wird:

    cmd /c " "c:\wtool\ImageMagick6_1_9Q16\identify.exe"
    "C:\web\gallery2\modules\imagemagick\data\test.gif" 2>
    "C:\web\gallery2\data\tmp\g2d817.tmp" "

    Ich denke mal eine von den drei Dateien wird es einfach nicht geben.
    Alternativ kannst du auch das Commando mal an der Eingabeaufforderung ausprobieren und schauen was dort so ausgespuckt wird ;-)

    Grüßle
  • in: neueste Einträge anzeigen

    geschrieben von scout

    Hi,
    generell sollte es in den Tabellen eine "created" und "changed" Spalte geben. Damit kann man dann nach Beitragserstelldatum (created) bzw. Beitagsänderungsdatum (changed) sortieren und die jeweiligen Threads dann ausgeben.

    Grüßle
  • in: SMS über PHP (gratis)

    geschrieben von scout

    Hi,
    laut dem API-Leitfaden (http://www.lima-city.de/2008/sms) soll man bei der Nummer keine Länderkennung angeben.
    Demzufolge ist das versenden wohl nur an deutsche Handys erlaubt/möglich :-(

    Grüßle
  • in: UTF-8 Codierung aus MySQL-Datenbank laden

    geschrieben von scout

    H
    keksessen schrieb: Klappt irgendwie nicht, wenn ich das Skript versuche, bleibt die Encodigng Art latin1. Und es wird nicht UTF-8


    Hmm hab das gerade nochmal getestet und es geht wirklich nicht;
    Wenn man per SQL-Statement das Charset anpasst merkt PHP davon scheinbar nichts mehr ;-(

    Hab aber gesehen dass PHP eine neue Funktion mit 5.2.3 eingeführt hat:
    <?
    mysql_set_charset('UTF8', $link);
    ?>


    Wenn man Anstelle der SET NAMES Zeile diese Zeile benutzt kommt auch mit mysql_client_encoding...der eingestellte Zeichensatz.

    Grüßle
  • in: UTF-8 Codierung aus MySQL-Datenbank laden

    geschrieben von scout

    tillorgias schrieb:
    Schau dir mal die HTML-Metainformationen an oder nutze die PHP-Funktion htmlentities, da werden die zeichen korrekt maskiert (aus ü wird &amp;uuml;, aus ö &amp;ouml; usw.).


    Nein, das ist keine Gute Idee die Zeichen HTML-kodiert in der Datenbank zu speichern. Dann können nämlich andere Programme, dies mit unter nicht richtig darstellen, bzw. man müsste mitunter händig eine Funktion schreiben die das zurück übersetzt ;-(

    Dein Client-Encoding wird wahrscheinlich nicht UTF-8 sein, so dass alle Ergebnisse in dem Client-Encoding ausgegeben werden.

    Prüfen kannst du das indem du in PHP folgendes machst:
    <?php
    $link    = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    $charset = mysql_client_encoding($link);
    
    echo "The current character set is: $charset\n";
    ?>


    Sollte dort irgendwas anderes als UTF-8 stehen, mache folgendes nachdem du dich zur mysql Datenbank verbunden hast.
    <?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    echo 'Connected successfully';
    mysql_query("SET NAMES 'UTF-8'");
    echo 'Encoding: '.mysql_client_encoding($link);
    // ...
    mysql_close($link);
    ?>


    Das müsste helfen... zumindest hätten sich dann Server und Client auf UTF-8 geeinigt ;-)
    Grüßle
  • in: Sicherheitsabfrage mit PHP eingeben

    geschrieben von scout

    tct schrieb:
    Wenn man nicht direkt Einblick in den Ordner bekommt, also über dictionary listing vom Apache, spielt das doch überhaupt keine Rolle. Du kannst die Bilder ja weiterhin auf deiner Website anzeigen lassen (mit dem stinknormalen &lt;img&gt;), auch wenn der Ordner per .htaccess geschützt ist damit niemand Zugriff auf die Dateien bekommt. Das ist ja grade das Tolle daran, oder hab ich dich falsch verstanden?


    klingt mir eher danach, dass er so ne Art Handy-Bild-Download Webseite machen will. Man bekommt auf der Webseite ansich Thumbnails angezeigt, jedoch wenn man bezahlt hat, kann man das Orginal downloaden bzw. sich aufs Handy übertragen lassen.

    ODER:

    Er möchte seine Bilder auf der Webseite einfach vor "klau" schützen.
    -> Dazu legt man einfach eine .htaccess ins Bilderverzeichnis mit dem Inhalt
    Order Deny, Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ##serverip##


    ##serverip## noch gegen deine Hosting IP ersetzen und fertig.

    Dadurch bekommt man keinen Zugriff von Außerhalb auf das Bilderverzeichnis, allerdings der Server selbst kann darauf zugreifen.

    Grüßle
  • in: mod_rewrite

    geschrieben von scout


    Jetzt funktioniert es, aber auch nur wenn der Slash am Ende fehlt.


    Nunja ein Slash am Ende würde ja auch bedeuten, dass davor Ordnernamen stehen ;-)
  • in: kleinres script

    geschrieben von scout

    Hmm,

    klingt ja ganz toll, nur einen Haken gibt es - wo kommen die Daten her ?

    D.h. eine Seite zu machen, die zu einem bestimmten Begriff dir aus diener Datenbank den entsprechenden Link holt, dürfte kein Problem sein.
    Doch woher/wie kommen die Daten in die Datenbank?
    Willst du diese händig einpflegen? ...sowas ist recht mühsam.
    Ich nehme an dass die Stichworte von deiner eigenen Seite auftauchen sollen, oder magst du auch von Seiten aus dem Internet sowas erstellen?

    Grüßle
  • in: Sicherheitsabfrage mit PHP eingeben

    geschrieben von scout

    Hmm, ich glaub hier wissen einige nicht was du genau möchtest... ich versuchs mal zu erklären, so wie ich es verstanden habe.

    Also du möchtest ein Verzeichnis über eine htaccess Datei schützen.
    In der htaccess steht dann sowas wie:
    AuthName "restricted stuff"
      AuthType Basic
      AuthUserFile /usr/local/etc/httpd/users
    
      require valid-user


    In der Datei "users" stehen die Nutzer die Zugriff haben.
    z.B.
    martin:WrU808BHQai36
    jane:iABCQFQs40E8M
    art:FAdHN3W753sSU


    Soweit klar. Doch was möchtest du dann?
    Dass Nutzer die dein PHP-Script ausführen wollen dies können? ... dies können Sie indem Sie Ihren Nutzernamen und Passwort angeben ;-)

    Wenn du hingegen mit einem anderen PHP-Script irgendwelchen Inhalt aus dem verzeichnis über Webrequest auslesen willst, mußt du halt einen Nutzer und Passwort mit übermitteln.

    Wenn du den Inhalt aus dem geschützen Verzeichnis "inkludieren" möchtest, müsste das ohne Probleme gehen ;-)

    Wenn du über ein PHP-Script nur die Nutzer verwalten willst, na dann lies halt die "Users" Datei ein bzw. ergänze diese mit den Dateifunktionen von PHP. http://de2.php.net/manual/en/function.fopen.php

    Soo nun erkläre bitte mal dein Problem etwas mehr ;-)
    danke.
    Grüßle
  • in: RegEx in Ordnung?

    geschrieben von scout

    snoo3 schrieb:
    Also könnten die Experten unter euch mal prüfen ob das so korrekt ist.
    ~^[A-Za-z0-9.-_&amp;/%]{1,}@{1}[A-Za-z0-9-.]{3,}\.{1}[A-Za-z]{2,9}$~



    Hallo,

    bis auf deine "." und "-" ist alles soweit ok. Der Punkt hat eine Sonderstellung und beinhaltet dabei alle Zeichen, demzufolge müsstest du den escapen. Genauso den Bindestrich.
    Außerdem würde ich noch prüfen ob ein Punkt am Anfang bzw. Ende steht - das darf generell nicht sein.

    Grüßle

  • in: Letzte Eniträge in WP extern anzeigen lassen.

    geschrieben von scout

    sowas?

    http://apptools.com/phptools/xml/rss.php

    Grüßle
  • in: Richtig/ sauber PHP coden

    geschrieben von scout

    Hi,

    ich würde das ein klein wenig anders machen...
    Part 1: Login
    Part 2: Fragen für Nutzer werden ausgewürfelt
    Part 3: Fragen werden ausgelesen und dem User angezeigt
    Part 4: Antworten werden abgespeichert
    (Part 5: User loggt sich aus)


    Es gibt die Tabellen User(uid, name, passwort), Fragen(fid, Text), Userfragen(ufid, uid, fid, antwort)

    Im Part2 werden also die ausgewürfelten Fragen für den User in die Tabelle Userfragen eingetragen. Dadurch kann man diese auch wieder vorholen falls die Session mal unterbrochen wird. Weiter kann man sehen welcher Nutzer welche Fragen zugeordnet bekommen hat. Das Auswürfeln selbst geschieht indem du ein Select auf diene Fragen machst und dir die IDs holst. Dann nur noch 10 IDs zufällig auswählen und in Tabelle Userfragen abspeichern.

    Im Part3 werden die Fragen aus Tabelle Userfragen dem jeweiligen Nutzer angezeigt und natürlich die Antworten per Update abgespeichert (Part4) ;-)

    Falls du ein wenig performance rausholen willst, kannst du zusätzlich die ermittelten Fragen (Part2) in der Session abspeichern bzw. Part2 überspringen und nur die Fragen in die Session speichern, falls schon Fragen für den Nutzer in der DB existieren.

    Beim Anzeigen holst du dann die Daten halt aus der Session, doch ehrlich gesagt muß eine Datenbank das abkönnen mit mehr als 100000 Zugriffen pro Sekunde umzugehen. Da dürfte es eigentlich keine Probleme geben.


    Grüßle
  • in: Richtig/ sauber PHP coden

    geschrieben von scout

    Generell ist zu sagen:

    - einfach Anführungsstriche dann, wenn keine Variable dazwischen steht. -> Script wird etwas schneller abgearbeitet, da alles dazwischen nicht nochmal geparst werden muß.

    - bei $_GET usw. würde ich ebenfalls einfache Anführungszeichen verwenden, weil siehe oben.

    - je nach Geschmack entweder:
    echo 'Angemeldet seit: '.$x.' Tagen';
    oder
    echo "Angemeldet seit: $x Tagen";

    Ich selbst bevorzuge erstere Variante, weil dann das Syntax Highlighting bei Arrays korrekt angezeigt wird ;-)

    - für die Einrückung gibt es keinen festen Standard... allerdings haben sich 4 Zeichen oder Tab eingebürgert


    Grüßle
  • in: date() Zeitsprung: USA -> Ö/D

    geschrieben von scout

    Hi,

    ich nehme mal an dass bei dir einfach noch die Zeitzone falsch eingestellt ist ;-)
    Versuch mal folgendes:
    <?php
      // date_default_timezone_set('America/Los_Angeles');
      date_default_timezone_set('Europe/Berlin'); 
      echo date("F j, Y, g:i a")."<br />\n";
      echo gmdate("F j, Y, g:i a")."<br />\n"; 
    ?>


    Dann werden auch automatisch die Werte von DATE angepasst ;-) gmdate() gibt hingegen immer GMT+0 zurück.

    Grüßle
  • in: Sicherheitsschleuse

    geschrieben von scout

    Hey,

    auf Flughäfen usw. gibt es meistens verschiedene Apparate! Die geräte bei denen man die Sachen nicht Schleusen sollte, steht IMMER ein Schild drüber/dran/davor, dass man Fotoapparate usw. durt halt nicht durchschieben soll.
    Meistens steht gleich danaben ein Gerät, wo man das dann wieder kann und wird gebeten diese Gegenstände dort zu schleusen.
    Bisher hatte ich auch noch nie Probleme damit ;-)

    Grüßle
  • in: Batch Datei zum FTP Verbinden

    geschrieben von scout

    Naja im grunde mußt du nicht viel machen...

    irgend ein Timer der den Befehl "ftp -s Befehlsdatei.txt" aufruft.

    In der Datei "Befehlsdatei.txt" stehen dann die Befehle zum verbinden bzw. up-/downloadbefehle.
    zum Bsp. so:
    open ftp.server.de
    username
    password
    put dateixy.exe
    quit


    zu entnehmen hier: http://support.microsoft.com/kb/96269

    Grüßle
  • in: PHP in HTML?

    geschrieben von scout

    Hi,
    kommt wie immer ganz darauf an wie du es meinst und anwendest. ;-)

    Bettest du PHP Elemente in HTML ein und jagst diese Datei dann nie durch einen PHP Parser...bringt dir das PHP gar nichts.
    Aus diesem Grund, wenn der Code vom PHP Parser geparst wird ist alles ok.

    Das heißt wiederrum, wenn dein Webserver alle HTML Dateien trotzdem durch den PHP Parser schickt ist alles ok, tut er das nicht wird halt das PHP nicht interpretiert.

    Um diese Entscheidung zu erzwingen, erstellt man meist PHP Dateien und echoed/printed von dort die HTML Elemente raus.

    Grüßle
  • in: Wie programmiere ich eine programmoberfläche???

    geschrieben von scout

    Wie wäre es mit ADO oder dem MySQL .NET Connector?

    Es gibt verschiedene Versionen:

    .NET 1.0 (Version 1.0): http://dev.mysql.com/downloads/connector/net/1.0.html
    .NET 2.0 (Version 5.0): http://dev.mysql.com/downloads/connector/net/5.0.html
    .NET 2.0 (Version 5.1): http://dev.mysql.com/downloads/connector/net/5.1.html

    Und die Doku gibt's hier:

    http://dev.mysql.com/doc/refman/5.0/en/connector-net.html

    http://www.functionx.com/mysqlnet/csharp/Lesson02.htm (ganz unten gibts eine Navigation zu den nächsten Seiten)


    Das ganze geht zwar auch über ODBC möglich, allerdings ist ODBC bald ausgestorben ;-(

    Grüßle
  • in: HTML Source bestimmen

    geschrieben von scout

    Hallo,

    ich hab ein kleines Problem...
    Habe eine Seite, wo dynamisch über Javascript der Inhalt an einer Stelle ausgetauscht wird. Dort erscheint einfach nach einer diversen Zeit ein anderer Spruch ;-)
    Nun möchte ich allerdings mit einer zweiten Seite den momentan sichtbaren Spruch auslesen und nochmehr Informationen dazu anzeigen.

    Wie bekomme ich heraus welcher Spruch derzeit aktiv ist?
    Wenn ich mir mit der zweiten Seite die Source der ersten Seite hole, fängt das Javascript Teil natürlich wieder von vorn an mit den Sprüchen ;-(

    Hoffe Ihr könnt mir ein wenig helfen...
    Grüßle
  • in: Wie programmiere ich eine programmoberfläche???

    geschrieben von scout

    sincer schrieb: ho ;)

    LOL, danke.
    Ich hab das mal eben auch ausprobiert ^^
    Ist ja sau geil :P

    Lauter Funktionslose Button, und Felder uns Scrollleisten ^^
    Aber hey: Der Kalender ist klasse :D

    lg
    Sincer


    Na das ist ja wohl klar, dass die als Default erstmal nichts machen! Dazu mußte halt mal doppelt auf die Button klicken und dann einen Befehl hinterlegen (z.B. "Form1.ActiveForm.BackColor = Color.Blue;"

    Grüßle
  • in: Wie programmiere ich eine programmoberfläche???

    geschrieben von scout

    Hmm sieht aus wie ein Fenster mit Menü uns Statuszeile, aber ohne Inhalt ;-)
    Nunja ich würde dir da das Visual Studio empfehlen...
    gibt es hier: http://www.microsoft.com/germany/Express/download/webdownload.aspx

    Mußt halt deine Programmiersprache auswählen... also Visual Basic, C# oder C++ und schon kann es los gehen.

    Nach der Installation ein Projekt "Windows Forms-Anwendung" erstellen und die entsprechenden Elemente auf die Oberfläche ziehen.
    In deinem Fall also einen ToolStripContainer, MenuStrip bzw. ToolStrip und einen StatusStrip aus der Toolbox > Kategorie "Menüs & Symbolleisten".

    Fertig ist eine Oberfläche mit menü und statusleiste... und als Schmankerl kann man das ToolStrip-Menüs während der Ausführung auch noch anders anordnen (z.B. an die Seite oder so, je nachdem wie das der Nutzer gern hat)

    Grüßle Martin
  • in: include geht nicht

    geschrieben von scout

    ich glaube dass es das falsche Include ist, was du uns hier präsentierst.
    Der Fehler titt hier auf:
    /Homepage/data/inhalt.php in Zeile 17

    Also müsste dort das Include stehen.

    Grüßle
  • in: Normalformen verständnisfrage

    geschrieben von scout

    Hallo,

    in Prüfungen wollen die meist so Formulierungen wie im Wikipedia (jeweils der erste Satz bei den normalformen) http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

    Demzufolge stimmen deine Normalformen nicht ganz.

    1. Normalform: Jedes Attribut muß atomar sein (für sich alleine stehen)

    aid | Album | lid | Lieder
    1 | Album1 | 1 | Lied1
    1 | Album1 | 2 | Lied2
    1 | Album1 | 3 | Lied3
    2 | Album2 | 4 | Lied4
    2 | Album2 | 5 | Lied5
    2 | Album2 | 6 | Lied6

    d.h. aid und lid werden jeweils Schlüssel und der Primärschlüssel wäre (aid,lid)

    2. Normalform: Jedes Nicht-Schlüsselattribut genau von einem Schlüssel (funktional) abhängig ist

    Die Attribute Album und Lieder sind jetzt zwar von lid abhängig, aber nicht von aid - d.h. wir müssen in 2. NF umwandeln...

    Alben
    aid | Album
    1 | Album1
    2 | Album2

    Lieder
    aid | lid | Lieder
    1 | 1 | Lied1
    1 | 2 | Lied2
    1 | 3 | Lied3
    2 | 4 | Lied4
    2 | 5 | Lied5
    2 | 6 | Lied6

    3.Normalform: jedes Nichtschlüsselattribut von keinem Schlüsselkandidaten transitiv abhängt

    Hmm zwecks Datenmangel sind die Tabellen dann schon in der 3. Normalform ;-)
    Allerdings wenn du in der Tabelle Album zum Bsp. noch Daten zum Interpreten oder so hättest, müsste man diese hier auslagern, weil die Daten zum Interpreten sich ja nicht bei jedem Album ändern - sondern wenn dann insgesamt.

    Alben Lieder Interpret
    aid | Album | Interpret
    1 | Album1 | i1
    2 | Album2 | i2
    3 | Album3 | i1

    Lieder
    aid | lid | Lieder
    1 | 1 | Lied1
    1 | 2 | Lied2
    1 | 3 | Lied3
    2 | 4 | Lied4
    2 | 5 | Lied5
    2 | 6 | Lied6

    Interpret
    iid | Name | Gründung
    i1 | Interp1 | 1980
    i2 | interp2 | 1967


    Hoffe das hilft ein wenig.
    Grüßle
  • in: RewriteRule wird nicht ausgeführt

    geschrieben von scout

    Hallo Andre,

    wie ich schon oben editiert hatte, war die RewriteRule vollkommen korrekt und wurde auch ausgeführt.
    Allerdings habe ich danach noch ein Typo3 mit der Extension "RealURL" laufen. Dieses RealURL greift genauso wie eine RewriteRule in den Verlauf ein.
    D.h. es ist folgendes passiert:
    1. vhost.conf wurde abgearbeitet (dabei die RewriteRule mit [ L ] angewandt - die die URL nicht ersetzt werden sollte bleibt diese auch so)
    2. Apache geht ins Document_Root
    3. Typo3 wird ausgeführt (dabei wird die URL aufgelöst) - Weil diese URL nicht geändert wurde, versucht nun typo3 diese URL aufzulösen
    4. Typo3 scheintert mit der Auflösung und zeigt eine Fehlermeldung

    Es verhält sich also so wie zwei RewriteEngines in Reihe geschaltet ;-)

    Grüßle
  • in: [C#] spätes Laden der DLL eines Namespaces

    geschrieben von scout

    Hallo,

    ich bastel ein Programm, was die Websites aus dem IIS6 und IIS7 auslesen soll.
    Für den IIS7 möchte ich die DLL microsoft.web.management.dll verwenden. Normalerweise gebe ich im C# Programm die Using-Clausel an und binde die DLL statisch als Verweis ein und kann dann die Funktionen verwenden.

    ich habe jetzt allerdings das Problem, dass diese DLL beim IIS6 nicht existiert und auch nicht funktionieren würde.
    Demzufolge müsste ich erst auf die IIS Version prüfen und danach erst die entsprechende DLL laden.
    Am Wochenende hab ich das mal über Reflection probiert, doch da meckert der Compiler dass kein Ko0nstruktor vorhanden wäre!

    Nunja evtl. hat ja jemand schon sowas ähnliches gemacht und kann mich unterstützen.

    Grüßle
  • in: RewriteRule wird nicht ausgeführt

    geschrieben von scout

    Hallo,

    habe ein Problem mit meinem Apache.
    Bei diesem habe ich eine RewriteRule im vhost hinterlegt, allerdings wird diese nie ausgeführt. RewrietEngine und logging ist an.

    VHost Rewrite Regel:
    RewriteRule ^/downloads/xyz/([a-zA-Z0-9]+)/([a-f0-9]+)/3/4/(.+) /index.php?id=3&$1=$2&do=pdf [L]


    Produziert im Log folgendes:
    Zeile 1: (2) init rewrite engine with requested uri /downloads/xyz/PHPSESSID/2d563456f4d25c7fa83f53f432845478/3/4/Test.pdf
    Zeile 2: (3) applying pattern '^/downloads/xyz/([a-zA-Z0-9]+)/([a-f0-9]+)/3/4/(.+)' to uri '/downloads/xyz/PHPSESSID/2d563456f4d25c7fa83f53f432845478/3/4/Test.pdf
    Zeile 3: (2) rewrite /downloads/xyz/PHPSESSID/2d563456f4d25c7fa83f53f432845478/3/4/Test.pdf -> /index.php?id=3&PHPSESSID=2d563456f4d25c7fa83f53f432845478&do=pdf
    Zeile 4: (3) split uri=/index.php?id=3&PHPSESSID=2d563456f4d25c7fa83f53f432845478&do=pdf -> uri=/index.php, args=id=3&PHPSESSID=2d563456f4d25c7fa83f53f432845478&do=pdf
    Zeile 5: (2) local path result: /index.php
    Zeile 6: (2) prefixed with document_root to /var/www/testdomain.de/index.php
    Zeile 7: (1) go-ahead with /var/www/testdomain.de/index.php [OK]


    Die Auflösung der URI scheint also zu funktionieren, nur zu dem Resultat mag er dann nicht ausführen.

    Weiß jemand Rat woran es liegen könnte ?


    Grüßle

    Edit: Hat sich erledigt! RewriteRule funktioniert, nur das Typo3 danach macht murx ;-(
    Thread kann geschlossen werden.
  • in: dateien via php löschen

    geschrieben von scout

    http://de.php.net/manual/de/function.unlink.php
  • in: PHP: Befehl als root ausführen ohne Systemeingriff [Idee]

    geschrieben von scout

    WOW was für eine Leistung, da werden dem lokalen PHP zuerst soviel Rechte gegeben, dass man überhaupt die Funktion system() aufrufen darf und dann soll man noch das Root Passwort irgendwo hinterlegen!

    Sag mal bist du völlig gaga? Natürlich kann PHP auch systembefehle ausführen, wenn man PHP das Recht dazu gibt und natürlich kann man dann auch Sachen ausführen unter einem anderen Nutzerkonto wenn man das Passwort mit übermittelt!

    Wenn ich die Passwörter in ein Script schreibe, dann kann ich auch gleich die Passwörter im Web veröffentlichen.

    @MODs: Aus Sicherheitsgründen würde ich an eurer Stelle diesen Thread löschen!

    Grüßle
  • in: Verzeichnis zippen

    geschrieben von scout

    Was ist jetzt so schwierig daran die Zip Funktionen mit opendir() zu verknüpfen ?

    http://de3.php.net/manual/de/book.zip.php
    http://de3.php.net/manual/de/function.opendir.php

    Mit Opendir() liest du dein Verzeichnis aus und anstatt die Namen auszugeben fügst du die Dateien zum Archiv dazu. fertig.

    Dein größeres Problem wird sein, dass hier bie Lima die Zip Extension nicht geladen ist und wie ich die Herren kenne auch nicht so schnell geladen wird ;-) ...heißt also packen über PHP nicht möglich.


    Grüßle

    Edit: Links als Links markiert
  • in: Suche _guten_ Mail-Anbieter

    geschrieben von scout

    goldeneye schrieb:
    aber was spricht gegen googlemail?
    ist wirklich der beste anbieter, genialer spamschitz, zwar google, dafuer aber trotztemd gute qualtitaet.


    Googles AGB sprechen dagegen!
    Dort steht drin dass deine eMails gespeichert und weiterverarbeitet werden können und jegliches geistiges Eigentum zu Google übergeht.
    D.h. sobald ich irgendwelchen Quellcode per Google-Mail verschicke, ist das so als würde ich mein Programm an Google verkaufen für 0 Euro ;-) und das muß ja nicht sein.

    Grüßle
  • in: Problem mit INSERT INTO

    geschrieben von scout

    Naja sagen wir mal so, deine Query wird NIE erreicht, also auch NIE ausgeführt. Warum sollte also ein Fehler kommen?
    Du hast eine Seite mit 2 Bedingungen, d.h. dein Insert kann man nur erreichen wenn beide Bedingungen erfüllt sind.

    Beispiel:
    Man ruft die Seite auf -> kommt die Login Eingabe -> ok gibt man was ein ...Login
    ->dann kommt dein Login und das zweite Formular -> gibt man was ein und geht auf aktualisieren.
    -> dadurch wird nur noch das Post[button] übermittel -> erste Bedingung (Post[passwort] ist nicht erfüllt
    -> es wird nur der Login angezeigt

    Hoffe das hilft ein wenig.
    Grüßle

    PS: wobei ich nicht weiß ob index.php?section=admin wieder bei dir dort in der Datei ankommt ;-)

  • in: Artmedic Link Script Anzeige Problem !!

    geschrieben von scout

    shiava schrieb:
    Wäre nett wenn einer helfen könnte.


    joar ein Link zum Script wäre ganz nett ;-)

    Grüßle
  • in: Daten werden immer 2 mal geschickt. Warum?

    geschrieben von scout

    j-s schrieb:
    mysql_query("INSERT INTO `buch`.`beitrag` VALUES ('$name','')");



    Deine INSERT stimmt glaube ich nicht.
    Die Syntax ist: INSERT INTO tabellenname (spaltenname1, spaltenname2) VALUES ('wert1', 'wert2');

    Grüßle
  • in: Wbb2 Lite

    geschrieben von scout

    Ach das ist hier? Dann mal unter "Lima-City Allgemein" > "Support" (http://www.lima-city.de/board/support) einen Beitrag dazu erstellen ;-) ...dass dir der Speicher ausgegangen ist.
    Bzw. die Quota evtl. fürs Tmp Verzeichnis gesetzt ist.

    Grüßle
  • in: Wbb2 Lite

    geschrieben von scout

    Hmm die Message:
    error message: Could not untar file 'setup/lang/setup_it.xml' to '/home/webpages/tmp/a8263fd9_setup_it.xml'. Maybe disk quota exceeded in folder '/home/webpages/tmp'.

    sagt doch wohl aus dass der Speicherplatz aufgebraucht ist. Du hast also keinen Platz mehr um die Datei zu entpacken ;-)

    Grüßle
  • in: Geld durch Uploads

    geschrieben von scout

    Hmm bei Netload muß der Download mind. 100 MB groß sein damit man was bekommt ;-(
    Also nichts mit bezahlt werden für Bilder.

    Grüßle
  • in: PageRanke Servis?

    geschrieben von scout

    Hi,

    dort gibt es ein Siegel, was man bei sich auf die Seite einbinden kann :-)
    http://www.database-search.com/sys/pre-check.php

    Grüßle
  • in: Domain mit webspace und Email

    geschrieben von scout

    tibel schrieb:
    Mein Tip: Bei lima-city eine Domain ersteigern oder kaufen. Unter der Domain ist dann dein Lima.webspace erreichbra und alle Mails @nachname.de werden an deine hier hinterlegte e-Mail-Adresse weitrergeleitet.


    Das ist soweit richtig.
    ABER:
    Was macht er wenn irgend ein Familienmitglied auf die Idee kommt auch so eine schicke eMail xy@nachname.de haben zu wollen, diese allerdings auf eine andere eMail Adresse weitergeleitet werden soll? verständlicherweise!

    Und schon hat man den Schlamassel... demnach bin ich bei Familiennamenadressen immer der Auffassung einen richtigen Provider zu wählen wo man x beliebig viele Postfächer bzw. Weiterleitungen einrichten kann ;-)

    Grüßle
  • in: Domain mit webspace und Email

    geschrieben von scout

    Hmm kann dir noch http://top-hoster.de/webhosting_paketuebersicht empfehlen!

    Falls du keine Datenbanken oder Cronjobs brauchst reicht auch ein XS Paket, allerdings würde ich dir das Paket S empfehlen, da ab diesem Paket derzeit eine Sonderaktion läuft. Du bekommst also entweder eine .de Domain kostenlos dazu oder eine Speicherplatzverdoppelung.

    Grüßle
  • in: Such gutes Class Tutorial

    geschrieben von scout

    strange schrieb: Irgend wir habe ich das Gefühl dass ich eine fremde Sprache spreche.


    Nunja das Problem ist halt...was ist ein Praxistutorial ?
    Es gibt Tutorials zum Klassenaufbau, die beschreiben wie Klassen generell aufgebaut sind. Und es gibt Entwurfsmuster die beschreiben, wie man Klassen gekonnt verschachtelt für alltägliche - meist immer wiederkehrende - Aufgaben.

    Um dir zu helfen, würde ich vorschlagen, dass du einfach mal diene Fragen, die zu Klassen auftreten, hier uns gebündelt zur Verfügung stellst. Wir werden dir dann dazu Antworten bzw. Links, Tutorials usw. liefern.
    ok?

    Grüßle
  • in: kleines php Script 2 - um HTML aus Ordner auszulesen..

    geschrieben von scout

    Da fehlen die Begrenzer ;-)
    if ($file != "." && $file != ".." && preg_match('[0-9]+\.html$', $file)) {


    richtig wäre:
    if ($file != "." && $file != ".." && preg_match('/[0-9]+\.html$/i', $file)) {


    Grüßle
  • in: Such gutes Class Tutorial

    geschrieben von scout

    Hmm ich nehme mal an, dass es dir nicht darum geht, wie eine Klasse im Quellcode aussieht, sondern eher wie man Klassen verschachtelt bei bestimmten Situationen.... ein sogenanntes Gebrauchsmuster/Entwurfsmuster ;-)

    Das Schlagwort dazu wäre "Patterns, Entwurfsmuster" bei Google. ...dann dürftest du so Muster wie Observer-Muster, Factory-Muster usw.

    siehe auch http://de.wikipedia.org/wiki/Entwurfsmuster

    Grüßle
  • in: MySql injection möglich?

    geschrieben von scout

    aldistammkunde schrieb:
    scout schrieb:
    aber kannst ja mal folgendes probieren:

    blabla.php?a=job&amp;amp;char=4957';Update table set spalte='test' where id=1;

    @scout:
    sendet mysql_query() aus php nicht immer nur den ersten query eines strings oder vertue ich mich da jetzt?


    Nein, dem ist nicht so.
    MySQL sendet immer alle Abfragen, allerdings in einer Transaktion ;-)
    Wenn es zwei Selects sind kommt natürlich Brühe raus und MySQL muß sich für ein Select entscheiden (weiß jetzt nicht welches)

    Grüßle
  • in: MySql injection möglich?

    geschrieben von scout

    Hmm schwer zu sagen ohne Quellcode ;-) Da ich kein Drop Database anhängen möchte ;-)

    aber kannst ja mal folgendes probieren:

    blabla.php?a=job&char=4957';Update table set spalte='test' where id=1;

    table und spalte natürlich an eine vorhandene table anpassen

    Grüßle
  • in: CSV-Dateien: Verschiedene zeilen einlesen

    geschrieben von scout

    strange schrieb: Mit Deiner Methode wird auch immer die ganze Datei eingelesen, somit ist egal wie man es macht. So lange es sich nur um ein paar KiB handelt ist es auch egal, erst wenn die Datenmenge zu groß wird braucht man eine andere Methode.


    Dem dürfte nicht so sein, denn fgetcsv() liest zeilenweise ;-)

    Grüßle

    PS: allerdings war meine Bedingung nicht ganz korrekt -> ($row == $i+1) muß ans Ende -> oben korrigiert
  • in: kleines php Script 2 - um HTML aus Ordner auszulesen..

    geschrieben von scout

    same-one schrieb:
    nikic schrieb:
    &lt;?php
    if ($handle = opendir('.')) {



    Und anstatt dem Punkt in opendir('PUNKT') schreibe ich den Ordner-Namen?

    same1


    genau ;-) zum Bsp. '/var/www/testseite'

    Grüßle
  • in: CSV-Dateien: Verschiedene zeilen einlesen

    geschrieben von scout

    Das ist so nicht möglich! PHP weiß ja nicht wo die zweite Zeile beginnt, demzufolge muß PHP immer erst die 1. Zeile einlesen ;-)
    Es sei denn deine 1. Zeile hat IMMER eine feste Größe, dann könnte man mittels fseek() an die Position springen und nur die zweite Zeile einlesen.

    Aber wenn du magst kannst du ja nur bis zu der gewünschten Zeile lesen. Das geht dann so:
    <?php
    
    $row = 2;                                      // Anzahl der Zeilen
    $handle = fopen ("test.csv","r");              // Datei zum Lesen öffnen
    $filesize = filesize("test.csv");
    
    // jede Zeile einlesen
    for( $i=0; $i<$row; $i++ ) { 
        // pruefen ob Zeile = gesuchte und Fehler auftrat
        if ((($data = fgetcsv ($handle, $filesize, ",")) !== FALSE) && ($row == $i+1)) {
    
            $num = count ($data);                      // Felder im Array $data
            for ($c=0; $c < $num; $c++) {              // FOR-Schleife, um Felder 
                print $data[$c] . "<br>\n";            // des Arrays auszugeben
            }
            
        }
    }
    fclose ($handle);
    ?>


    Edit: @strange: ich glaube er möchte nicht die gesamte Datei einlesen nur um die zweite Zeile zu haben, ansonsten ok

    Grüßle
  • in: kleines php Script 2 - um HTML aus Ordner auszulesen..

    geschrieben von scout

    PHP.NET ist glaube ich dein Freund bei dieser Aufgabe ;-)

    siehe http://de3.php.net/manual/de/function.readdir.php

    Dort findest du unter anderem folgendes:
    <?php
    if ($handle = opendir('.')) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                echo "$file\n";
            }
        }
        closedir($handle);
    }
    ?>


    Dann passt du halt noch die if Bedingung an, dass nur noch html Dateien ausgegeben werden und gut ist.

    Grüßle

    Edit: URL Tags ergänzt
  • in: mysql_real_escape_string() demaskieren und Umlautproblem

    geschrieben von scout

    technofan schrieb: ok, das mit dem demaskieren geht jetzt... allerdings habe ich jetzt ein problem mit den Umlauten....
    ...
    find ich schon komisch... hab schon versucht die zeichen zu ersetzen, klapt aber nicht...
    was muss man denn da machen?


    Das Umlautproblem beruht darauf, dass deine Webseite UTF-8 Zeichen entgegen nimmt (das auch gut ist) und an dich weiterreicht. Du allerdings von einer iso-8859-1 Kodierung ausgehst. UTF-8 in ISO-8859-1 zu konvertieren ist nur eingeschränkt möglich, da einfach der iso-8859-1 Zeichensatz weniger Zeichen enthält als der UTF-8 Zeichensatz.
    Um einem Konvertierungswahn zu entgehen ist es das Beste, wie strange schon schrieb, die Datenbank auch in UTF-8 anzulegen. Damit wärst du Zukunftssicher ;-)

    Grüßle
  • in: mysql_real_escape_string() demaskieren und Umlautproblem

    geschrieben von scout

    wüßte jetzt nicht wozu man das demaskieren müsste...
    man maskiert es ja nur wenn man in die Datenbank speichert und nicht einfach mal so und arbeitet dann mit dem maskierten String weiter.

    aber so könnte es gehen:
    http://de3.php.net/manual/de/function.stripslashes.php

    Grüßle
  • in: [MySQL] Tabellen-Zeilen neu durchzählen

    geschrieben von scout

    Ähm na wenn du kein auto_increment brauchst und die IDs ehh von woanders her bestimmt werden, dann kannst du auch das auto_increment entfernen ;-)
    Allerdings wenn die IDs von woanders her übermittelt werden und du deine Datenbank auf diese IDs aufbaust, darfst du bei JEDER Nutzeränderung auch deine Datenbank reorganisieren. Sonst stimmt nämlich keine einzige Tabelle mehr.

    Aus diesem Grund nutze ich meist eigene IDs (mit auto_increment) und gebe in einer seperaten Spalte die Fremd-IDs an. Somit kann ich meine Daten immer einer Person zuordnen und diese Person hat halt eine X Fremd-ID.

    Ok nochmal als Ergänzung...
    Falls du folgende Datenbank hast:

    Personen (pid, FremdID, Name, Vorname, ...);
    Bücher (bid, titel, author, ...);
    Ausleihen (aid, pid, bid, ...);

    und du jetzt pid anpassen willst, weil es "schick" aussieht, dann heißt dass dass du auch Bücher und Ausleihen anpassen müsstest ;-) und somit die gesamte DB reorganisieren mußt. Sorry aber "Das macht kein Mensch" und es macht auch keinen Sinn.
    Demzufolge "muß" deine ID immer gleich bleiben, egal ob da Personen rausgelöscht werden oder nicht!

    Grüßle
  • in: file_exists

    geschrieben von scout

    Um alle Sicherheitsbedenken zu erfüllen, sollte der Code so umgeschrieben werden:
    <?php
    $var = 'datei2.php';
    
    switch(strtolower($var)) {
        case 'datei1.php':   file_exists('ordner/datei1.php') ? include('ordner/datei1.php') : null; break;
        case 'datei2.php':   file_exists('ordner/datei2.php') ? include('ordner/datei2.php') : null; break;
        case 'datei3.php':   file_exists('ordner/datei3.php') ? include('ordner/datei3.php') : null; break;
        default:
            include "ordner/main.php"; // oder Fehlermeldung falls immer ein include stattfinden muß
    }
    ?>


    Grüßle
  • in: [PHP] "Root-Pfad" ermitteln

    geschrieben von scout

    Hmm mich wundert dass du auf deinem Produktionssystem dann dein Dokument-Root oberhalb verschiedener Projekte hast, aber das könnte ja durchaus so sein ;-)
    Im Testsystem (xampp) ist das zwar meist so, aber im Live-Betrieb meist anders.

    Naja egal auf die schnelle fällt mir da nur folgendes ein:
    include(dirname(__FILE__).'filename.php');


    wobei dirname(__FILE__) den Pfad der aktuellen Datei wiedergibt ;-)

    Grüßle
  • in: Weltzeit

    geschrieben von scout

    Die Zeitzonen sind nicht immer stundenweise aufgeteilt, zum Bsp. "Neu Delhi" hat UTC + 5 1/2 Stunden ;-)
    Solche Fälle kann man nur abhandeln, wenn man die Ortskoordinaten in Bezug auf die Zeitzonengrenze kennt.

    Man müsste also erstmal nach einer Datei bzw. Funktion suchen die einem die Zeitzonengrenzen liefert ;-)

    Grüßle
  • in: Eurozeichen und Zeichensatzproblem

    geschrieben von scout

    Ich nehme mal an das die Zeichen schon als UTF-8 Zeichen von der Webseite kommen...
    demnach brauchst du kein utf8_encode() zu machen.
    Das utf8_encode() hab ich nur dahin geschrieben, weil ich nicht erst eine Seite basteln wollte die mir utf8 zurück gibt ;-)

    In deinem Fall wird dadurch 2x utf8 kodiert.
    Beispiel:
    ISO = "Halölülä das kostet ja 7654 €"
    UTF8 in ISO Zeichen dargestellt = "Halölülä das kostet ja 7654 €"

    D.h. wenn du utf8 hast kommt effektiv die zweite Zeichenkette an, dann machst du ein utf8_encode() ...d.h. jedes Ã, ¶l, ¼ usw. wird nochmal in utf8 umgewandelt, also utf8 nochmal zu ""Halölülä das kostet ja 7654 €""
    Erst danach kommt die Vergleichsfunktion die zum Bsp nach einem ü (ü) sucht, zwar auch findet, aber ringsherum sind lauter unerwünschte Zeichen.

    Hoffe konnte es einigermaßen erklären und helfen...
    Grüßle
  • in: Eurozeichen und Zeichensatzproblem

    geschrieben von scout

    In welchem Zeichensatz sind denn deine PHP Scripte abgespeichert? ...könntest du evtl. mal Quellcode zum Download zur Verfügung stellen?

    Grüßle
  • in: Eurozeichen und Zeichensatzproblem

    geschrieben von scout

    cookies schrieb: htmlentities sollte normalerweise € durch &amp;euro; ersetzen. Keine Ahnung, warum das nicht geht.


    ja logisch weil in der Umwandlungstabelle für htmlentities kein Eurozeichen drin ist ;-)
    siehe:
    <?
      echo '<pre>';
      var_dump(get_html_translation_table(HTML_ENTITIES));
      echo '</pre>';
    ?>


    Demzufolge wird das Eurozeichen auch nicht ersetzt.

    Man könnte höchstens genauso wie htmlentities das macht auch das Eurozeichen ersetzen lassen.
    Das sieht dann so aus:
    <?
      $z = 'kostet 546,36 €';
      //$z = utf8_encode($z);  // Test bei UTF-8 Zeichen entkommentieren
      
      $ersetzungen = array(
            '€' => '&euro;'
      );
    
      // UTF8-Zeichen hinzufügen  
      $tmp = array_flip($ersetzungen);
      foreach($tmp as $key => $value) {
        $tmp[$key] = utf8_encode($value);   
      }
      // UTF-8 Zeichen zum Ersetzungsarray hinzufügen
      $ersetzungen = array_merge($ersetzungen, array_flip($tmp));
      
      $z = strtr($z, $ersetzungen);
      
      echo $z;
    ?>


    Das Ersetzungsarray wird mit den UTF-8 Zeichen ergänzt, somit wäre es egal ob man mit UTF-8 Eurozeichen oder ISO Eurozeichen ankommt ;-)
    In das Array kann man natürlich noch mehr Zeichen hinterlegen.
    Grüßle
  • in: Bilder mit max 1MB hochladen

    geschrieben von scout

    finch schrieb:
    Is das irgendwie möglich?


    Nein, wie soll das denn gehen? ...zumindest nicht per PHP!

    Um die Datei verarbeiten bzw. irgendwas zu bestimmen muß die Datei zwingend zum Server übertragen werden, ob du diese dann ablehnst ist deine Sache.

    Was ich mir evtl. noch vorstellen könnte, wäre dass man die Größe per JavaScript abfragen kann. Allerdings bin ich mir da unsicher, ob der Webbrowser einfach so auf meine Festplatte zugreifen darf. Ich glaube eher nicht!

    Demzufolge dürfte vor der Nutzeraktion "Dateiübertragung" nichts zu prüfen sein ;-)

    Grüßle
  • in: PHP- Fehler von Browser ignorieren lasen?

    geschrieben von scout

    Lol ist es nicht besser die Tabelle einfach anzulegen?
    Achja und wenn bei dir die Tabellen wie die Bilder heißen... d.h. pro Bild eine Tabelle mit eigenem Namen verwendet wird, dann solltest du mal deine Datenbankstruktur überdenken.

    Im Normalfall gibt es eine Tabelle tbl_bilder und eine tbl_eigenschaften... wobei unter tbl_bilder halt eine id und Name bzw. Dateiname zu finden ist und in der tbl_eigenschaften sowas wie Größenangaben, Farbtiefe usw. und zwar aller Bilder ;-)

    Grüßle
  • in: [PHP] Karte mit XYZ-Koordinaten

    geschrieben von scout

    Edit: ups da stand ja schon die Antwort auf meine Fragen... sorry
  • in: [PHP] Karte mit XYZ-Koordinaten

    geschrieben von scout

    Vllt. hat es ja auch gar nichts damit zu tun, sondern ist ein Spieleigenes System.

    Z.B. die Staemme hat in einigen Welten auch xyz Koordinaten für den Dorfstandort. Dabei gibt die erste Zahl den Kontinent, die Zweite den Sektor und die Dritte das System an.
    siehe http://de3.die-staemme.de/help2.php?article=map

    Teste doch erstmal mit ein paar Koordinaten im Spiel (ändere z.B. nur die erste Zahl und schau wo die Dörfer oder so dann liegen, dann die zweite ..usw.)

    Grüßle
  • in: Advanced Login : Wieso steht das so da : {login}

    geschrieben von scout

    play5 schrieb:
    Kann man des nicht irgendwie zulassen oder so ???
    Was ist da Falsch ????


    Hmm irgendwie versucht der Code sonstwohin zuzugreifen, was natürlich nicht erlaubt ist ;-)

    Aber das Install Script zu diesem Package hast du schon durchgeführt oder ?

    Grüßle


    Edit:
    Also in der include.php macht das Script folgendes:
    @include("includes/config.php");
    // Funktion zum Pfad bestimmen
    function dircompare($dir1, $dir2) {
        global $root;
    	$inc1 = "";
    	$inc2 = "";
        $dir1 = explode("/", $dir1);
    	$dir2 = explode("/", $dir2);
    	for($i=0;$i<max(count($dir1), count($dir2));$i++) {
    	    if($dir1[$i] != $dir2[$i]) {
    		    $inc2 .= $dir1[$i]."/";
    			if(!empty($dir2[$i])) {
    			    $inc1 .= "../";
    			}  
    		}
    	}
    	return $inc1.$inc2;
    }
    #-------
    define("LOGINPATH", dircompare($cfg_loginreal, dirname($_SERVER['SCRIPT_FILENAME'])));


    also: config.php einlesen
    und irgendwie ein Vergleich zw. dem Pfad aus der Config.php und dem SCRIPT_FILENAME

    Bei dir kommt dann als LOGINPATH = "../../../../../../../../////////"; raus.

    Also ich würde mal behaupten dein configurierter Pfad in der config.php stimmt nicht ;-)

    Führe nochmal eine Installation durch, dann müsste in der config.php stehen:
    $cfg_loginreal = "/usr/export/www/vhosts/funnetwork/hosting/play5/login";



    Grüßle2
  • in: Advanced Login : Wieso steht das so da : {login}

    geschrieben von scout

    Ok Jungs so wird das doch nichts... wenn wir ins blaue hineinraten...

    Habe mir mal das Advanced Paket runtergeladen...
    Play5 da gibt es eine example.php gleich im root Verzeichnis ...genau soeine Datei müsstest du erstellen.
    Dort wird
    <?php include("login/include.php"); ?>

    inkludiert und mit den Variablen {restricted} / {unrestricted} ...für Abschnitte die je für auth. Benutzer und unauth. Benutzer angezeigt werden sollen.

    Die Loginbox selbst wird über die Variable {loginbox} angezeigt ;-)

    D.h. für dich mindestens müsstest du den include oben bei dir rein setzen und deine Variable in {loginbox} umbenennen.
    Dann könnte es evtl. gehen.

    Grüßle
  • in: Advanced Login : Wieso steht das so da : {login}

    geschrieben von scout

    play5 schrieb:
    Wieso steht da jetzt also immernoch {login} ???
    Es ist doch eine html-Datei ???
    Bitte helft mir !!!!


    Eben weil es eine HTML Datei ist !
    Die HTML-Templates werden über eine PHP-Datei includiert!
    In deinem Paket ist ja auch eine example.PHP und nicht example.html ;-)

    Grüßle
  • in: Advanced Login : Wieso steht das so da : {login}

    geschrieben von scout

    Also ich behaupte mal dass es da nicht6 nur einen Admin-Login gibt sondern auch einen normalen Login mit der Möglichkeit zur Registrierung.
    Ruft man die Registrierung auf wird dein html-Template "register.html" aufgerufen und die Platzhalter ersetzt.

    Du müsstest also mal den Link zum normalen Login posten... dort wo der Register-Button ist ;-)

    Die Platzhalter (z.B. {Login} müssen also auf jeden Fall in eine HTML Datei.

    Grüßle
  • in: automatisches sql srting escapen deaktivieren

    geschrieben von scout

    Ich wüßt jetzt zwar nicht was das bringen soll, aber wahrscheinlich meinst du magic_quotes ;-)

    http://de3.php.net/manual/de/function.get-magic-quotes-gpc.php

    schau mal auch bei http://de3.php.net/manual/de/function.set-magic-quotes-runtime.php

    bzw. in der php.ini
    http://de3.php.net/manual/de/info.configuration.php#ini.magic-quotes-gpc

    Grüßle
  • in: include, include_once, require, require_once?

    geschrieben von scout

    Das kommt ganz darauf an, wo ich includiere ;-)

    im Globalen Kontext: include_once bzw. require_once
    innerhalb einer Funktion: include bzw. require

    Weil nachdem die Funktion beendet ist ist die inkludierte Datei ehh weg ;-)

    Falls du PHP innerhalb von Typo3 benutzt und dein Script an mehreren Stellen zur gleichen Zeit aufgerufen wird, verwende immer include. Irgendwie verschluckt sich Typo3/PHP innerhalb seiner die() Funktion wenn man ein include_once macht. PHP behauptet dann es wurde schon includiert, aber drauf zugreifen kann man nicht ;-(

    Grüßle
  • in: Frage zu $_SERVER['REMOTE_ADDR']

    geschrieben von scout

    Habe gerade nochmal nachgeschaut und gesehen dass die RFC schon wieder überholt ist und als obsolate gekennzeichnet ist.
    Hab allerdings auch nicht den aktuellen Stand gefunden.

    Auf jedenfall kann man allerdings sagen, dass die Adressen, die so aussehen: ::FFFF:IP aus dem IPv6 Netz angesprochen werden können, allerdings der Ziehlhost selbst nur IPv4 beherrscht. (IPv4 Host im IPv6 Internet)

    Trifft man hingegen auf folgende Form ::IP kann der Zielhost zwar IPv6, wird allerdings über eine IPv4 Infrastruktur angesprochen.
    (IPv6 Host im IPv4 Internet)

    Ich denke mal früher oder später werden die Adressen ehh verschwinden, da es ehh nur eine Übergangslösung sein soll ;-)

    Grüßle
  • in: Frage zu $_SERVER['REMOTE_ADDR']

    geschrieben von scout

    Deine Unterlagen stimmen ja auch soweit. Nur vergessen deine Unterlagen zu erwähnen, dass es ZUSÄTZLICH auch noch eine andere Schreibweisen gibt.

    Soweit ich weiß werden von IPv6 folgende Schreibweisen (Formate) unterstützt:
    IPv6 (compressed / uncompressed)
    IPv6 "IPv4 compatible"
    IPv6 "IPv4 mapped"
    IPv6 6to4
    IPv6 ISATAP
    IPv6 teredo

    Und die mit dem ::ffff:IP ist halt die IPv4 kompatible Form ;-) Natürlich kann man eine IPv4 Adresse auch ins reine IPv6 umwandeln... das wäre das was du da machst, aber es ist halt nicht zwingend erforderlich ;-)

    Grüßle
  • in: SQL Befehl - Selbe Spaltenwerte makieren

    geschrieben von scout

    Das nächste mal evtl. noch deine zwei SQL Abfragen posten, damit man sich das besser vorstellen kann. ;-)
  • in: Frage zu $_SERVER['REMOTE_ADDR']

    geschrieben von scout

    IPv4 Compatibility

    A special prefix is used for backward compatibility with existing IPv4 addressed servers. ::ffff followed by the IPv4 address using the usual notation represents an existing server. For example: ::ffff:209.173.53.180 represents the address for the www.ietf.org server in an IPv6 compatible manner. A more formal method is to use the ::ffff prefix, but express the IPv4 address in two segments as a hexadecimal value. For example, the IP address of the www.ietf.org server could also be written as ::ffff:d1ad:35b4.

    We can translate an existing IPv4 address to its IPv6 equivalent using the following Lasso tag.

    Define_Tag('IPv4to6', -Namespace='client_', -Required='ip');
    Local('hex') = Client_IPToInteger(#ip);
    #hex->SetFormat(-Hexadecimal=True);
    Local('ipv6') = '::ffff:' + String(#hex) - '0x';
    #ipv6->Merge(12,':');
    Return(@#ipv6);
    /Define_Tag;

    Client_IPv4to6('209.173.53.180');

    --> ::ffff:d1ad:35b4

    The localhost address 127.0.0.1 has the special abbreviation ::1 although the lengthier http://[::ffff:7f00:0001]/ also works.
  • in: SQL Befehl - Selbe Spaltenwerte makieren

    geschrieben von scout

    Na ob ich das jetzt richtig verstanden habe...
    Hast die Tabelle:
    id gruppenid
    1 2
    2 3
    3 1
    4 3
    5 2
    6 1
    7 3
    8 4

    SELECT * FROM `gruppentest` where gruppenid=3
    ergibt:
    id gruppenid
    2 3
    4 3
    7 3

    bzw.
    SELECT id FROM `gruppentest` where gruppenid=3
    dann halt nur die IDs.

    Ob es das ist was du wolltest mag ich bezweifeln, aber kannst es ja nochmal bildlicher darstellen ;-)
    Grüßle
  • in: Vbulletin Config datei ändern!

    geschrieben von scout

    Evtl. hilft ja auch ein Generator...
    Hab auf die Schnelle nur diesen hier gefunden: https://www.vbulletin-setup.com/

    Grüßle
  • in: FEHLER: PHP Extension "pdo_mysql" must be loaded

    geschrieben von scout

    Hmm meines wissens ist pdo_mysql bei Lima nicht installiert und wird es bestimmt auch nicht werden.

    Falls du auf einem anderen System das Ding installieren willst müßtest du in der php.ini im Extension Abschitt das Semikolon bei "extension=pdo_mysql" entfernen.

    Ich kenne mich nun wieder nicht mit Magento aus, aber ich denke mal da kann man bestimmt auch auf mysql oder mysqli ausweichen ;-)

    Grüßle
  • in: Aufzählungen auswerten

    geschrieben von scout

    Ich lass sowas den Kunden schon in einer Maske auswählen und nicht selbst durch ein Eingabefenster reinschreiben.
    Das hat den Vorteil, dass man die Eingaben des Kunden nicht validieren muß! Sonst müsste deine Funktion möglichst viele Eingabemöglichkeiten parsen können (also mit/ohne Leerzeichen, Komma getrrennt, Leerzeichen getrennt usw.)

    Wenn du den Nutzer gleich die Werte über eine Listbox auswählen lässt (mit Strg kann man mehrere Zeilen markieren) hast du dann die Daten gleich in einem dir gewünschtem Format vorliegen.

    Ok ist vllt. auch Geschmackssache, aber eine Überlegung wert.
    Grüßle
  • in: Vbulletin Config datei ändern!

    geschrieben von scout

    Hmm in deinem Post hats du eigentlich nur eins vergessen zu erwähnen... was willst du überhaupt erreichen?

    Die Config ist eigentlich recht simpel...sie hat folgendes Format:
    // Zeilen sind Kommentare
    und darunter kommt eine $config Zeile
    Das ist dann die Wertzuweisung.

    Zum Bsp.:
    <PRE> // ****** TABELLEN-PRAEFIX ******
    // Praefix, das den Tabellennamen in der Datenbank vorangestellt wird.
    // Zum Beispiel: $config['Database']['tableprefix'] = 'vb3_';
    // Hinweis: Praefixe fuer die Tabellennamen koennen Sie mit der Datei
    // install/tableprefix.php hinzufuegen, aendern oder entfernen.
    $config['Database']['tableprefix'] = '';</PRE>

    D.h. also Tableprefix ist die Zeichenfolge die den Datenbanktabellen vorangestellt wird.

    Grüßle
  • in: funktion mit werten aus ereg_replace ausführen

    geschrieben von scout

    Wie tct schon schrieb preg_replace_callback() wirkt da Wunder.
    Hier auch für dich ein kleines Beispiel:
    <?php
    # macht die Umwandlung URL > Title
    function callback_getTitle($arr_url) {
        $ret = '';
        $url = parse_url($arr_url[0]);
        
        switch($url['host']) {
            case 'www.google.de':   $ret .= 'Google'; break;
            case 'www.php.net':     $ret .= 'PHP.NET'; break;
            case 'de3.php.net':     $ret .= 'PHP.NET'; break;
            default:
                $ret .= 'unbekannt';
        }
        
        // evtl. Subpages des Hastes -> Subtitel anhängen
        switch($url['path']) {
            case '/preferences':    $ret .= '-Einstellungen'; break;        
            case '/manual/de/function.preg-replace-callback.php':    $ret .= '-Subpage'; break;
        }
        
        return $ret;
    }
    
    $text = 'Hier ist ein wenig Text mit http://www.google.de/ zu google ;-)
    es geht auch http://www.google.de/preferences?hl=de zu den Einstellungen.
    Abhilfe schafft auch ein Blick zu http://www.php.net bzw. http://de3.php.net/manual/de/function.preg-replace-callback.php
    Hoffe es hilft.';
    
    $res = '';
    $res = preg_replace_callback('§\b(?:https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]§si', 'callback_getTitle', $text);
    
    echo $res;
    ?>


    Grüßle
  • in: MySQL Problem

    geschrieben von scout

    ok, ist ein Argument ;-)
    Dann halt so..
    SELECT s.id, v1.name, v2.name, n.name, v.name
    FROM spieler s
    JOIN vornamen v1 ON s.vorname1=v1.id
    LEFT JOIN vornamen v2 ON s.vorname2=v2.id
    JOIN nachnamen n ON s.nachname=n.id
    JOIN vereine v ON s.mannschaft=v.id


    alternativ kannst du natürlich auch bei allen anderen Joins ein Left davor schreiben, falls dort auch mal eine ID nicht vorhanden sein sollte ;-)

    Grüßle
  • in: MySQL Problem

    geschrieben von scout

    Hmm ich würd mal sagen einfach zusammen joinen ;-)

    SELECT s.id, v1.name, v2.name, n.name, v.name
    FROM spieler s
    JOIN vornamen v1 ON s.vorname1=v1.id
    JOIN vornamen v2 ON s.vorname2=v2.id
    JOIN nachnamen n ON s.nachname=n.id
    JOIN vereine v ON s.mannschaft=v.id


    vllt. noch ein Tipp am Rande:
    Wenn man die Spalten mit den IDs immer gleich benennt, kann man "ON s.nachname=n.id" verkürzen auf "USING(nid)". Also Tabelle Spieler die ID Spalten mit den ID Spalten der anderen Tabellen ;-)
    Beispiel:
    SELECT s.sid, v1.name, v2.name, n.name, v.name
    FROM spieler s
    JOIN vornamen v1 ON s.vid1=v1.vid
    JOIN vornamen v2 ON s.vid2=v2.vid
    JOIN nachnamen n USING(nid)
    JOIN vereine v USING(mid)

    ...wenn die Tabellenspalten wie folgt heißen:
    Spieler(sid, vid1, vid2, nid, mid)
    Vornamen(vid, name)
    Nachnamen(nid, name)
    Vereine(mid, name)

    Grüßle

    Edit: Tipp ergänzt
  • in: Post Arrays Überprüfen

    geschrieben von scout

    Das besondere an meiner Variante ist, dass auch Objekte wie arrays behandelt werden ;-)

    <?php
    class GAG {
        public $hallo = "ich";
        public $erstmal = "bins";
        public $willkommen = "ja?";   
    }
    
    $obj = new GAG();
    $test = array('user' => array(1, array('testobj' => $obj, 'ergobj' => $obj)));
    
    $objects = new RecursiveIteratorIterator(new RecursiveArrayIterator($test), RecursiveIteratorIterator::SELF_FIRST);
    foreach($objects as $name => $value){
        if (is_array($value) || is_object($value)) {
            echo "Key: $name<br />\n";        
        }
        else{
            if (!is_object($value)) {
                echo "Key: $name und Wert $value<br />\n";
            } 
        }
    }
    ?>


    Grüßle
  • in: Joomla Upload geht nicht

    geschrieben von scout

    Hmm würde spontan mal auf Verzeichnisrechte tippen! Darf denn die Gruppe in deinem Uploadverzeichnis schreiben bzw. Dateien erstellen?

    Grüßle
  • in: Post Arrays Überprüfen

    geschrieben von scout

    Hmm weiß jetzt nicht ganz genau worauf du hinaus willst, aber evtl. hilft die ja das um durch das Array zu iterieren ;-)

    <?php
    
    $test = array('user' => array(1, 2));
    
    $objects = new RecursiveIteratorIterator(new RecursiveArrayIterator($test), RecursiveIteratorIterator::SELF_FIRST);
    foreach($objects as $name => $value){
        if (is_array($value)) {
            echo "$name<br />\n";        
        }
        else{
            echo "$name = $value<br />\n";        
        }
    }
    
    ?>


    Grüßle
  • in: MySQL probleme

    geschrieben von scout

    Hää? Gibst dir doch selbst die Antwort auf deine Frage... entweder dem wordpress-Ordner schreibrechte für die Gruppe geben und dann mit dem Assistenten weiterarbeiten
    ODER
    man erstellt manuell die wp-config.php im wordpress-Ordner ;-) Dazu gibt es eine Vorlage "wp-config.php.sample" oder so ähnlich.

    Grüßle
  • in: Smilie code in Smilie umwandeln

    geschrieben von scout

    Ohh gott, so viel Quelltext... aber evtl. hab ich auch die Aufgabenstellung falsch verstanden...
    um die Text-Smileys in Images zu erstezen könnte man eine Callback verwenden.
    In etwa so:
    <?php
    
    function replace_text2smile($treffer)
    {
        switch($treffer[0]) {
            case ';-)':     $ret = '<img src="smilies/1.gif">'; break;   
            case ':-)':     $ret = '<img src="smilies/2.gif">'; break;
            case ':-(':     $ret = '<img src="smilies/3.gif">'; break;
            default:
                $ret = $treffer[0]; // nicht gefundene Smilies als Text belassen
        }
        return $ret;
    }
    
    function replace_smile2text($treffer)
    {
        switch($treffer[0]) {
            case '<img src="smilies/1.gif">':     $ret = ';-)'; break;   
            case '<img src="smilies/2.gif">':     $ret = ':-)'; break;
            case '<img src="smilies/3.gif">':     $ret = ':-('; break;
            default:
                $ret = ''; // nicht gefundene Images entfernen
        }
        return $ret;
    }
    
    
    
    $src = 'Das ist ;-) mit :-) und :-( Smiley';
    
    $html = preg_replace_callback(
                "/;-\)|:-\)|:-\(/i",
                "replace_text2smile",
                $src);
    
    echo $html."<br />\n";
    
    $text = preg_replace_callback(
                "/<img src=\"smilies\/[0-9]+\.gif\">/i",
                "replace_smile2text",
                $html);
    
    echo $text."<br />\n";
    ?>


    Grüßle
  • in: Sonderzeichen wie (% < ? ; : )Sperren?

    geschrieben von scout

    Evtl. ist ja auch die Funktion strip_tags() http://de2.php.net/manual/de/function.strip-tags.php für dich interessant.
    Damit kannst du alle HTML und PHP Tags ausfiltern ;-)

    Grüßle
  • in: Variable über submit button übertragen

    geschrieben von scout

    ja indem man ein echo() verwendet ;-)

    <form action="<?php echo "index.php?Album=$AlbumID"; ?>" method="post">


    Alles was zwischen <?php und ?> steht muß mit echo() ausgegeben werden.

    Grüßle
  • in: zutritt ab 18

    geschrieben von scout

    Hmm weiß jetzt nicht ob es DER Fehler ist... aber die 2 Fehler hab ich shconmal gefunden:

    echo 'Eintritt gestattet. <p><a href='$seite'>weiter</a></p>';

    => entweder das echo mit doppelten Anführungsstrichen machen oder um die Variabel $seite noch jeweils einen Punkt setzen ;-)
    so:
    echo 'Eintritt gestattet. <p><a href="'.$seite.'">weiter</a></p>';



    Zweiter Fehler:
    Du vergleichst zwei Zeichenketten ;-) also '18' und $_POST['pass']
    Lösung:
    $alter = 18; oder $alter = intval('18');
    und
    $pass = intval($_POST['pass']);


    Grüßle

    PS: Mal am Rande... was soll das bringen? Denkst du Kinder können keine Jahre zählen? ...eine Personalausweisnummern Abfrage wäre da besser... allerdings gibt es im INet auch schon Generatoren dafür.

    Edit: Code korrigiert ;-)
  • in: phpmyadmin max upload size ändern

    geschrieben von scout

    antonmueller schrieb: hallo ich will die php deitein vonphpmyadmin adern es gitb eine variabledafrü wo dies habe ich keine blassen schimmer


    Alle Daten (Variablen) phpMyAdmin betreffend kann man in der config.inc.php ändern. Allerdings ist dieser Wert wie schon von schrotti12 erwähnt global fürs PHP anzusehen und deswegen in der php.ini global gesetzt ;-)

    Die Uploadgröße hat nicht direkt was mit phpMyAdmin zu tun, diese wird durch PHP limitiert und phpMyAdmin nutzt nunmal PHP.

    Grüßle
  • in: Geburtsdatum aus Droptdownfeld in DB speichern

    geschrieben von scout

    Hab es exemplarisch mal für den Tag angegeben ;-)
    <?
    
    // Tag den der User schonmal ausgewählt hatte...
    $db_tag = "5";   // alternativ aus der Datenbank holen
    
    // falls es keinen Wert aus der DB gibt nimm 1
    $selected_tag = isset($db_tag) ? $db_tag : 1;
    
    // falls ein Tag übermittelt worden ist nimm diesen sonst $db_tag bzw. 1
    $default_tag = isset($_POST['tag']) ? $_POST['tag'] : $selected_tag;
    
    for ($i = 1 ; $i <= 31 ; $i++)
    {
            
            if ($default_tag == $i)
            {
                    echo '<option selected>' . ($i<10)?("0".$i):($i) . '</option>' ;
            } 
            else {
                    echo '<option>' . ($i<10)?("0".$i):($i) . '</option>' ;
            }
            
    }
    
    // ....
    ?>


    Grüßle
  • in: Dynamische Webseite downloaden

    geschrieben von scout

    Hmm da du ja selbst mit den Infos fopen bzw. fwrite nicht drauf zu kommen scheinst, hier ein Bsp. ;-)

    <?php
    
    if ($stream = fopen('http://www.google.de', 'r')) {
    
        echo stream_get_contents($stream);
    
        fclose($stream);
    }
    
    ?>


    Hoffe es hilft.
    Grüßle
  • in: relationale Datenbank

    geschrieben von scout

    Eine relationale Datenbank sollte immer den ersten 3 Normalformen entsprechen http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

    1. NF: Alle Attribute (Spaltenwerte) müssen atomar (alleinstehend) sein d.h. Zum Bsp. Adressen müssen in die Spalten PLZ, Ort, Straße usw. aufgeteilt werden

    2. NF: die Daten einer Zeile der Tabelle genau EINEM Primärschlüssel zugeordnet sind und nicht evtl. nur einem Teil (z.B. Primärschlüssel über 2 Spalten)

    3. NF:Transivität der Daten d.h. ein Teil der Spalten darf nicht von einem nicht Primärschlüssel in der Tabelle abhängen z.B. bei Albumtitel, Interpret, Gründungsjahr ... da hat meist der Interpret mehrere CDs produziert steht also doppelt in der Tabelle und muß daher seperat ausgelagert werden ;-)

    Wenn man das alles beachtet, hat man eine Datenbank mit der man eigentlich alles abfragen kann ...es gibt keine Einschränkungen mehr.

    Grüßle

Login zum Webhosting ohne Werbung!