1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. spinball

Beiträge von spinball

  • PHP code in DB speichern und auslesen

    • spinball
    • 22. Mai 2008 um 18:45

    Normalerweise benutzt man dafür die Funktion eval. Es ist aber ganz schön riskant, soetwas zu machen. Du solltest dir vielleicht Alternativen dazu überlegen. Zum einen gibt es die Möglichkeit, die Pfade zu den Dateien, die inkludiert werden sollen, extra in die Datenbank zu schreiben. Du brauchst dazu neue eine Tabelle, in der die Pfade als Strings stehen.

    PHP
    $result = mysql_query("SELECT pfad FROM modules WHERE id = '$articleID'");
    while($row = mysql_fetch_assoc($result)) {
    	include($row['pfad']);
    }

    Oder du schreibst eine Funktion, die auf Schlüsselworte in den Strings reagiert. Dann kannst du die Include-Befehle in der Datenbank lassen.

    PHP
    function parse($str) {
    	preg_match_all("/{include:(.+).php}/iU",$str,$found);
    	foreach($found[1] as $path) {
    		include($path.".php");
    	}
    	return str_replace($found[0],"",$str);
    }

    Diese Funktion sucht im String nach "{include:bla.php}", inkludiert die Datei und löscht den Befehl aus dem String. Mit regulären Ausdrücken kann man viel Unsinn treiben. Beware!

  • FireFox PlugIn - Binnen I be gone

    • spinball
    • 15. Mai 2008 um 09:31
    Zitat von Almlieschen

    Mich wundert, dass sich hier noch keine Frau öffentlich zu Wort gemeldet hat!

    Hä? Im Internet gibt's doch keine Frauen!

  • FireFox PlugIn - Binnen I be gone

    • spinball
    • 6. Mai 2008 um 23:14

    Wie kommt es, dass ich in dieses Thema noch nichts geschrieben habe? Sappalott!

    Ich habe euch frische Erdbeeren mitgebracht: http://www.informatik-forum.at/showthread.php?p=433113

    Greift zu!

  • Das Leben als Deutscher in Österreich, Wien oder Graz...

    • spinball
    • 4. Mai 2008 um 18:56

    Also ich komme gerade aus Hamburg zurück und wurde dort von Freundlichkeit regelrecht erschlagen!

    Nachts, um halb 1, auf der Reeeperbaaaaaaaaaaaaahn.... GRÖHL!

  • Looser

    • spinball
    • 4. Mai 2008 um 18:50

    Wenn man sich mit Computern nicht auskennt, liegt es nahe anzunehmen, dass die Bedienung eines solchen Geräts nicht kompliziert sei; man durchblickt die aufwendige Materie nicht. Im Auge des Kaufmanns sind Informatiker die Nerds, welche in James Bond per Knopfdruck den russischen Satelliten hacken können. Diese asozialen Geschöpfe sollten dann gefälligst froh sein, wenn sie in einer renommierten Firma angestellt werden. Dort sollen sie dann, wie gesagt, das gesamte Rechenzentrum alleine bedienen. Sie haben ja sowieso viele viele Knöpfe am Keyboard.

  • Looser

    • spinball
    • 4. Mai 2008 um 18:10

    Software und digitale Medien sind nun einmal virtuell und somit automatisch weniger wert.

  • Das Leben als Deutscher in Österreich, Wien oder Graz...

    • spinball
    • 29. April 2008 um 23:58

    Wie sieht es denn eigentlich umgekehrt aus? Da ich morgen nach Deutschland fliege, habe ich Angst, dass man mich zerfleischt, wö i gean Semmerln und Erdäpferln iss. Ist diese Angst denn berechtigt?

  • Das Leben als Deutscher in Österreich, Wien oder Graz...

    • spinball
    • 29. April 2008 um 22:33
    Zitat von Der_Willy

    ich sag zB "Grüß Gott"

    PIEFKE!

    j/k

  • input text

    • spinball
    • 25. April 2008 um 10:29

    Möchtest du HTML klauen? :p

    Dann nimm doch preg_match_all und finde alle INPUT-Tags. Die kannst du dann erneut nach beliebigen Attributen durchsuchen:

    PHP
    function backerbse($path) {
    	$html = file_get_contents($path);
    	$array1 = $array2 = $array3 = array();
    	preg_match_all("/<input(.+)>/iU",$html,$array1);
    	foreach($array1[1] as $tag) {
    		preg_match_all("/ (.+)=\"(.*)\"/iU",$tag,$array2);
    		$array3[] = array_combine($array2[1],$array2[2]);
    	}
    	return $array3; 
    }
    
    
    $array = backerbse("entfernte_website.html");
    print_r($array);
    Alles anzeigen

    Diese Funktion durchsucht die Website an der Adresse $path und liefert die Attribute aller darin enthalten INPUT-Tags. Lecker!

  • input text

    • spinball
    • 25. April 2008 um 09:22

    Gar nicht. Diese Werte werden nicht an PHP übergeben. Pech. :wein:

    Wenn du dir aber das Array $_POST ansiehst, dann kannst du davon auf die Formularstruktur rückschließen: Falls $_POST['backerbse'] gesetzt ist, muss es auch ein Feld im Formular mit diesem Namen geben.

    Wenn du weitere HTML-Attribute des Formulars brauchst, musst du weiter Felder ins Formular schreiben, die jene Attribute als eigene Werte enthalten.

    Code
    <input type="text" name="backerbse" value="lecker" alt="Magst du Backerbsen?" />
    <input type="hidden" name="backerbse_alt" value="Magst du Backerbsen?" />

    $_POST['backerbse'] ist nun "lecker" und $_POST['backerbse_alt'] ist "Magst du Backerbsen?".

    Allerdings entschwindet mir der Sinn dahinter; kannst du doch für das Erzeugen des Formulars bereits PHP verwenden und bist dir über die ALT-Felder im Vorhinein im Klaren.

  • Software-Entwickler gesucht!

    • spinball
    • 22. April 2008 um 21:07

    :rofl2:

  • Ranking in Google

    • spinball
    • 14. April 2008 um 13:18

    Ich habe es noch nie geschafft, eine Website mit gutem Inhalt, sauberem Code und den ganzen goldenen Lehrsätzen folgend in Google aufzulisten. Aber ich habe leere(!) Seiten auf Platz 1 gebracht. Das Geheimnis? Hyperlinks! Je öfter andere zu dir verweisen, umso höher stuft dich Google ein. Egal, was auf deiner Seite sein mag.

  • "Spielprogrammierung" in JAVA

    • spinball
    • 3. April 2008 um 21:39

    Ich muss auch noch unbedingt meinen Namen in diesem epischen Thema verewigen!

    Geschafft. Hurra!

  • Suche jemanden mit Löterfahrung für Mod-Shop

    • spinball
    • 3. April 2008 um 00:29

    Das Einlöten ist natürlich auch illegal. Jeder Spielkonsole liegen heutzutage Geschäftsbedingungen bei, in denen steht, dass man das Gerät mit der Absicht auf Modifikation nicht aufschrauben darf, o. ä.

  • Bedingte Weiterleitung im Skript realisieren

    • spinball
    • 2. April 2008 um 11:40

    Was du brauchst, ist Output Buffering!

    http://at2.php.net/manual/en/function.ob-start.php

    PHP
    ob_start();
    
    
    echo "superduper";
    
    
    if($redirect) {
        header("Location: next.php");
        exit();
    }
    
    
    echo "schlabberdabber";
    Alles anzeigen
  • while produziert Endlosschleife: Warum?

    • spinball
    • 28. März 2008 um 12:11

    Die folgende Funktion fügt dem Passwort-String mittels einer FOR-Schleife genau $len mal ein beliebiges Zeichen aus dem String $charset hinzu und liefert ihn mit return. So hat man volle Kontrolle über alle möglichen Zeichen, aus denen ein Passwort bestehen darf. Reguläre Ausdrücke sind hier fehl am Platz. Mit Regulären Ausdrücken könntest du vielleicht prüfen, ob ein bereits bestehendes Passwort aus einem vorgegebenen Zeichensatz gebildet werden kann, o. ä. Zum Generieren eines neuen Passwortes brauchst du aber keine Regulären Ausdrücke.

    PHP
    function generate_pw($len = 8) {
        $charset = 'abcdefghjkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789!§%&/()=?';
    
    
        $pw = "";
        $clen = strlen($charset);
        for($n = 0; $n < $len; $n++) {
            $pw .= $charset[mt_rand(0,$clen - 1)];
        }
    
    
        return $pw;
    }
    Alles anzeigen

    Wir sollten Geld dafür verlangen. :winking_face:

  • Lebensdauer von Passwörtern begrenzen

    • spinball
    • 27. März 2008 um 12:45
    Zitat von osiris

    Wie schreibe ich ein Skript, das automatisch startet?



    Soetwas wird üblicherweise von einem Serverdienst verwaltet und hat nichts mit deinem eigentlichen Programm zutun. Du schreibst dein Programm quasi ohne Achten auf den Ausführungszeitpunkt und sagst deinem Server zum Beispiel, dass er dieses Programm jeden Tag um 13 Uhr ausführen soll (Siehe: Cronjob).

    In deinem Problemfall ist das aber gar nicht notwendig. Du kannst diese Überprüfung bei jeder Anfrage stellen:

    PHP
    UPDATE users SET password = '' WHERE DATE_ADD(lastlogin,INTERVAL 1 DAY) < NOW();



    Diese SQL-Abfrage setzt die Spalte password überall auf einen leeren String, wo das Datumsfeld lastlogin mindestens einen Tag alt ist.

    Dann kann man sich aber mit jenen Accounts nicht mehr einloggen. :winking_face:
    Eine bessere Idee wäre, das Problem auszulagern: Und zwar solltest du die Passwörter nicht gleich löschen, sondern die restliche Funktionalität deiner Programme einfach für die blockieren, welche alte Passwörter benutzen.

    PHP
    SELECT * FROM users WHERE id = $id AND DATE_ADD(lastlogin,INTERVAL 1 DAY) < NOW();



    Insofern die Spalte id deine Benutzertabelle eindeutig durchnummeriert, kannst du mit dieser Abfrage feststellen, ob der aktuelle Benutzer - identifiziert durch $id - ein altes Passwort benutzt. Falls ja, liefert die Anfrage eine Zeile zurück. Falls nicht, keine.

  • md5 wert für id

    • spinball
    • 26. März 2008 um 17:58
    Zitat von Erklärbär

    sorry, ich bin seit 10 jahren als softwareentwickler

    ...

    wenn der kunde für Funktion X und Funktion Y bezahlt UND dadurch keine Widersprüche mit den bisherigen Anforderungen entstehen, dann sollte das kein Problem darstellen.

    Du hast ein Schweineglück, mein Lieber. Lass uns tauschen!

  • Arrays auslesen, Werte zuweisen

    • spinball
    • 26. März 2008 um 12:39

    Ich habe noch nie erlebt, dass sowohl Benutzername als auch Passwort zufällig generiert werden. Das ist sehr unüblich. Nichtsdestotrotz kann man es folgendermaßen realisieren:

    PHP
    function generate_user() {
        $users = array(...); // Alle Benutzer
        $pwds = array(...); // Alle Passwoerter
        $name = ...; // Neuer Benutzername
        while(true) {
            $valid = true;
            $rand = mt_rand();
            $pass = md5($rand.$name);
            foreach($users as $user) {
                $hash = md5($rand.$user);
                if(in_array($hash,$pwds)) {
                    $valid = false;
                    break;
                }
            }
            if($valid) {
                return array($name,$pass);
            }
        }
        return false;
    }
    Alles anzeigen



    Diese Funktion wurde unter der präpotenten Annahme programmiert, dein Problem verstanden zu haben. Sie liefert ein Array mit zwei Elementen: Benutzername und Passwort-Hash. Dir sollte aber bewusst sein, dass es einen Aufwand von (Anzahl existierender Benutzer) hoch (Anzahl Haare auf meiner Brust) benötigt und nicht empfehlenswert ist.

    PS: Ich bin stark behaart.

  • Arrays auslesen, Werte zuweisen

    • spinball
    • 25. März 2008 um 23:13

    Lieber osiris, ich konnte selbst beim 3784973498. mal Durchlesen nicht verstehen, was du vorhast. Entweder dein Lösungsansatz ist falsch, oder du tust dir einfach nur schwer, dich auszudrücken.

    Üblicherweise trennt man Benutzername und Passwort in der Datenbank. Ist das erst einmal getan, kannst du mit der Funktion in_array arbeiten:

    PHP
    $all_pwds = array(...);
    do {
        $pwd = md5(mt_rand());
    } while(in_array($pwd,$all_pwds));



    Jetzt speichert die Variable $pwd ein neues Passwort-Hash.

Rechtliches

Impressum

Datenschutzerklärung