Beiträge von Yamram

    Hey Leute,
    diese folgende if-Abfrage ist ziemlich lang:

    Code
    <span class="syntaxdefault"><br /></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"type"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"image/png"</span><span class="syntaxdefault"> OR $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"type"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"image/jpeg"</span><span class="syntaxdefault"> OR $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"type"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"image/gif"</span><span class="syntaxdefault"> OR $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"type"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"image/x-icon"</span><span class="syntaxdefault"> OR $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"type"</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"image/bmp"</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br />...<br />}<br /></span><span class="syntaxdefault"> </span>


    Kann ich sie kürzer gestalten, denn es wird ja nur geprüft, ob $file["type"] folgenden Wert hat:

    • image/png
    • image/jpeg
    • image/gif
    • image/x-icon
    • image/bmp


    Gibt es da eine Möglichkeit?


    Mit freundlichen Grüßen,
    Philipp E.

    So ist es, es gehört sich einfach nicht. Das habe ich auch verstanden. Irgendwie ist das auch ein bisschen unlogisch, wenn man Funktion da speichert, wo der Content hingehört...

    Also, vorerst wollte ich dir mal sagen, dass du mehr Acht auf Rechtschreibung und Grammatik geben musst. Ich kann dich ja kaum verstehe O.o


    Entweder du gibst bei dem INSERT Befehl einfach `id` und dann NULL als Wert an oder du lässt `id` ganz weg und den Wert dann ebenfalls. Den Rest verstehe ich nicht. Was hast du eigentlich in Deutsch? Gib dir mal ein bisschen mehr Mühe -.-

    Also, ich habe es schon ausprobiert. Es funktioniert. Aber was ist denn daran so schwierig? Es sähe dann nur ein bisschen komisch aus, weil ich immer wieder

    Code
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">...<br /></span><span class="syntaxdefault">?><br /></span></span>


    schreiben muss. Dann würde es ungefähr so aussehen:

    Code
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">functionA</span><span class="syntaxkeyword">() {<br />...<br />}<br /></span><span class="syntaxdefault">?><br /><?php<br /></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">functionB</span><span class="syntaxkeyword">() {<br />...<br />}<br /></span><span class="syntaxdefault">?><br /><?php<br /></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">functionC</span><span class="syntaxkeyword">() {<br />...<br />}<br /></span><span class="syntaxdefault">?><br /></span></span>


    Möglich, aber doof. Zusätzlich muss ich, um die MySQL Tabelle ausgeben zu lassen, manuell eine MySQL Verbindung aufbauen. Ich bleibe bei "normalen" Funktionsbibliotheken ;)

    lauras: Ja, vorher habe ich schon überlegt. Da hatte ich nur die Idee einfach alle Funktionen in eine Datei zu packen.


    @drPHIP132: Mhhh, die Funktion in einer Datenbank ist auch nicht schlecht :)


    @Basiii: Das kann ich leider nicht sehen...

    Ja, aber dann weiß ich nicht, ob sich das wirklich lohnt. Nach deinem Vorschlag könnte ich dann drei Dateien machen. Eine für MySQL, eine für Verzeichnisse und eine für SESSIONS. Aber ich glaube, dass zumindest zwischen MySQL und SESSION eine dauerhafte Verbindung besteht, weil ich die SESSION ja ständig überprüfe, indem ich in der Tabelle nachschaue.


    Gibt es vielleicht noch eine andere Möglichkeit? :)

    Hey Leute :)


    ich habe gemerkt, dass ich bei meinem Projekt einige Funktionen wirklich mal auslagern sollte. Da erinnerte ich mich an das Kapitel "Funktionsbibliotheken erstellen" des PHP-Kurses (http://www.php-kurs.com/). Die Funktionen, die ich oft brauche und auslagern möchte entsprechen folgenden Themen:

    • MySQL
    • Verzeichnis
    • Usersystem (Sessions...)


    Als Dateinamen habe ich mir ganz einfach functions.php ausgesucht. In dieser Datei stehen dann die ganzen Funktionen untereinander, das sieht in etwa so aus:


    Ist das so gut? Ich meine, geht es nicht besser bzw. schneller? Ich möchte bei meinem Projekt auch auf Effizienz Acht geben. Ich weiß ja nicht, ob es noch effizienter geht...


    Mit freundlichen Grüßen,
    Philipp E.

    @Basiii: Jo, das habe ich ergänzt :) Ist auch verständlich. Aber wie mache ich den Rest?!


    EDIT - 22.01.2012 21:00 Uhr


    So, ich habe jetzt mal selber versucht, die Variable $result auszugeben. Dazu habe ich im PHP-Dokument einfach

    Code
    <span class="syntaxdefault"><br />echo $error</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span>


    hinzugefügt. Und die Funktion interpretRequest() sieht nun so aus:


    Aber da kommt immer null raus. Was mache ich falsch?!

    Mein Beispiel mit Ajax:


    Ich habe jetzt mal versucht, mein Beispiel mit Ajax umzusetzen. Doch natürlich habe ich es nicht ganz geschafft :/
    So sieht die HTML-Datei aus:



    Die Datei ajax2.php sieht so aus:


    Wie ihr sehen könnt, werden die Daten in ajax2.php nur in eine Tabelle geschrieben. Je nach Erfolg oder Fehler habe ich die Variable $error gefüllt. Doch wie kann ich diesen nun in ajax2.HTML ausgeben lassen?!


    Wäre echt nett, wenn ihr mir das noch erklären könntet (((:

    Also, eine einfach Ajaxanwendung ist so aufgebaut: (Den Code habe ich eben netterweise von Basiii geschickt bekommen)


    1. Ich erstelle einen Request. Hier muss ich zwischen Chrome, Firefox... und Internet Explorer unterscheiden:


    Nun kann ich auf diesen Request mit request (Variable) zugreifen...


    2. Dann kann ich überprüfen, ob der Request erzeugt wurde.

    Code
    if (!request) {
             alert("Kann keine XMLHTTP-Instanz erzeugen");
             return false;
          } else { ... }


    Nun weiß, ich dass der Request erfolgreich erstellt wurde.


    3. Dann öffne und sende ich den Request:


    Im Prinzip wird dann die Datei ajax_004.php mit der POST Variable name aufgerufen oder? Wenn man GET machen würde, dann wäre das ajax_004.php?name=...


    Ich hoffe mal, das stimmt soweit :)


    4. Dann empfange ich den Request und werte ihn aus:


    Ist das jetzt alles soweit richtig? Dann hätte ich nämlich einigermaßen verstanden ((((: