tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
659
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    exhubiranta exhubiranta ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    93
    Hallo,

    möchte mir (Anfänger) ein Script mit eurer Hilfe erarbeiten. Es geht darum, dass User Interpretationen zu meinen Bildern eingeben dürfen und diese dann darunter nach Klick erscheinen. Vorher darf man diese Titel nicht lesen dürfen, sonst braucht man sich ja keine Gedanken zu machen.

    Damit ihr es euch besser vorstellen könnt, ein Bild im Anhang. Auf einer Seite sollen ca. 10 Bilder sein. Außerdem soll das kleine Formular spamsicher sein und es soll ein Email an mich abgehen, damit ich von dem Eintrag mitbekomme und ihn notfalls löschen kann. Am besten vom Email aus.

    Die Texte sollen in einer txt-Datei oder anders gespeichert werden, nicht in einer Datenbank. Habe nämlich keine.

    Könnt ihr mir stückweise helfen? Wie beginnt man? Habt ihr sowas schon in petto?

    Viele Grüße
    exi
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Wie kann man das programmieren?-fuer-forum.jpg  
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Als Datenspeicher könnte man XML-Dateien oder SQLite verwenden, wenn dein PHP das unterstützt.

    Grundsätzlich ist dein Vorhaben relativ leicht umsetzbar.

    Du brauchst ein Formular, in dem die entsprechenden Daten eingetragen werden, um Spam zu verhindern, solltest du ein CAPTCHA einbauen.

    Nach dem Abschicken des Forms sollten die Form-Daten in die XML-Datei o. SQLite-Datenbank eingetragen werden. Gleichzeitig kannst du mit mail() die entsprechenden Daten verschicken.

    Das mit dem direkten Löschen per Email stell ich mir grad nicht so einfach vor, einen Link könnte man durchaus mitschicken. Allerdings sollte man trotzdem vor dem Löschen ein Passwort eingeben müssen.

    Ich weiß grad nicht, warum du es noch nicht selbst umgesetzt hast, den Anforderungskatalog hast du ja auch schon fertig. Das Umsetzen ist jetzt nur noch eine Frage des Programmierkönnens und Lesen des PHP-Manuals für die entsprechenden Funktionen.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    Comenius Tutorials.de Gastzugang
    Das mit dem direkten Löschen per Email stell ich mir grad nicht so einfach vor, einen Link könnte man durchaus mitschicken. Allerdings sollte man trotzdem vor dem Löschen ein Passwort eingeben müssen.
    Warum nicht einfach? Per Link kann man alles mögliche aufrufen, warum nicht auch eine Seite, mit der Anweisung des Löschens...

    Ein Passwort ist nicht notwendig, da doch die Mail sowieso kein anderer zu Gesicht bekommt.

    Es könnte natürlich sein, dass man sich den Link zum Löschen beschaffen kann, aber wenn man den mit Zufallswerten verschickt, fällt eine Passwortabfrage weg.

    Gruss
    Commi
     

  4. #4
    exhubiranta exhubiranta ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    93
    Hallo und danke für eure Gedanken,

    habe doch dazu ein paar Einwände/Fragen.

    Als Datenspeicher könnte man XML-Dateien oder SQLite verwenden, wenn dein PHP das unterstützt.
    Warum nicht txt oder sto? Wo steht in der info.php, ob XML-Dateien unterstützt werden? SQLite kann mein Server definitiv nicht.

    Du brauchst ein Formular, in dem die entsprechenden Daten eingetragen werden, um Spam zu verhindern, solltest du ein CAPTCHA einbauen.
    Groß soll das Formular nicht sein, es besteht nur aus einem Textfeld und "Senden", siehe Grafik. Das Captcha bräuchte zu viel Platz und lenkt zu sehr ab. Geht nicht auch die Kombination verstecktes Formularfeld, Zeitsperre und IP-Übermittlung?

    Ein Passwort ist nicht notwendig, da doch die Mail sowieso kein anderer zu Gesicht bekommt. Es könnte natürlich sein, dass man sich den Link zum Löschen beschaffen kann, aber wenn man den mit Zufallswerten verschickt, fällt eine Passwortabfrage weg.
    Da bin ich auch dafür. Allerdings verstehe ich das mit den Zufallswerten nicht...

    Ich weiß grad nicht, warum du es noch nicht selbst umgesetzt hast, den Anforderungskatalog hast du ja auch schon fertig. Das Umsetzen ist jetzt nur noch eine Frage des Programmierkönnens und Lesen des PHP-Manuals für die entsprechenden Funktionen.
    Ich kann zwar existierende Scripts für mich anpassen - was auch nicht nicht immer klappt, aber selber etwas aufsetzen - Hilfe! Mein Hirn ist für die Programmierlogik nicht geschaffen, bin mehr Künstler. Ich kann nicht sagen, dass ich nicht probiert hätte, doch alle Lehrbücher waren so geschrieben, dass ich an irgendeiner Stelle hängen blieb und ausstieg.

    Der Anfang ist leicht gemacht, aber wie geht's weiter?

    PHP-Code:
    <html>

        <
    head>
            <
    meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
            <
    title></title>
    <
    style media="screen" type="text/css"><!--
    ul {
    margin0;
    padding0;
    }
    --></
    style>
    <
    script type="text/javascript">
    function 
    switchlayer(Layer_Name)
    {
      var 
    GECKO document.getElementById1:;
      var 
    NS document.layers1:;
      var 
    IE document.all1:;

      if (
    GECKO)
           {
    document.getElementById(Layer_Name).style.display=
           (
    document.getElementById(Layer_Name).style.display=='block') ? 'none' 'block';}
      else if (
    NS)
           {
    document.layers[Layer_Name].display=(document.layers[Layer_Name].display==
           
    'block') ? 'none' 'block';}
      else if (
    IE)
           {
    document.all[Layer_Name].style.display=(document.all[Layer_Name].style.display==
           
    'block') ? 'none' 'block';}
    }
    </script>
        </head>

        <body bgcolor="#ffffff">
            <table border="0" cellpadding="5" cellspacing="0" width="722">
                <tr>
                    <td><img src="kutsche.JPG" width="350" height="228" border="0"></td>
                    <td><img src="spielmannsz.jpg" width="350" height="228" border="0"></td>
                </tr>
                <tr>
                    <td align="center">Was siehst du in dem Bild?<br>
                        Gib' deine Interpretation hier ein:</td>
                    <td align="center">Was siehst du in dem Bild?<br>
                        Gib deine Interpretation hier ein:</td>
                </tr>
                <tr>
                    <td>
                        <form name="FormName" action="(Empty Reference!)" method="get">
                            <table border="0" cellpadding="3" cellspacing="0" width="122">
                                <tr>
                                    <td><input type="text" name="kutsche" size="34"></td>
                                    <td><input type="submit" name="senden" value="senden"></td>
                                </tr>
                            </table>
                        </form>
                    </td>
                    <td>
                        <form name="FormName" action="(Empty Reference!)" method="get">
                            <table border="0" cellpadding="3" cellspacing="0" width="122">
                                <tr>
                                    <td><input type="text" name="spielmannszug" size="34"></td>
                                    <td><input type="submit" name="senden" value="senden"></td>
                                </tr>
                            </table>
                        </form>
                    </td>
                </tr>
                <tr>
                    <td valign="top"><a href="untermenue1.php" onclick="javascript:switchlayer('kutscha');
         return false;">&gt;&gt; Meine und andere Deutungen - bitte klicken</a>
                        <ul style="list-style-type:none">
                            <ul id="kutscha" style="display:none;list-style-type:none;">
      <li><b>Frau auf Kutsche<br>
                                    </b>Madonnenfigur<br>
                                    Furie</li>
      
     </ul>
                        </ul>
                    </td>
                    <td valign="top"><a href="untermenue2.php" onclick="javascript:switchlayer('spielmanno');
         return false;">&gt;&gt; Meine und andere Deutungen - bitte klicken</a>
                        <ul style="list-style-type:none">
                            <ul id="spielmanno" style="display:none;list-style-type:none;">
      <li><b>Spielmannszug<br>
                                    </b>Opernglas<br>
                                    Chearleaders</li>
       </ul>
                        </ul></td>
                </tr>
            </table>
            <p></p>
        </body>
    </html> 
    Viele Grüße
    exi
     

  5. #5
    Comenius Tutorials.de Gastzugang
    Hi,

    Wegen der Sache mit der Bestätigungsmail (löschen) könnten dir folgende Links behilflich sein.

    http://www.wer-weiss-was.de/theme163/article873130.html (Zufallswert erzeugen)
    http://www.schattenbaum.net/php/variable2.php (Um den Wert des Hyperlinks zu übergeben)

    Dein Script gehe ich mal durch, wenn ich etwas Zeit habe. Ansonsten viel Spaß beim Spielen

    Gruss
    Commi
     

  6. #6
    exhubiranta exhubiranta ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    93
    Hallo,

    danke für die Hinweise, ich bin deshalb auch schon so weit wie ich alleine konnte.

    Mit <form action="sendbild.php" method="post"> habe ich ein Email auf die Reise an mich geschickt.

    sendbild.php:
    PHP-Code:
    <?php
    // Standardwerte übermitteln
    include("config.php");

    // Wegen Lauffähigkeit auf sicheren Servern
    $kutsche$_POST["kutsche"];

    // IP ermitteln
    function getip() {
    if (
    getenv("HTTP_X_FORWARDED_FOR")) {
    $realip   getenv("HTTP_X_FORWARDED_FOR");
    } else {
    $realip   getenv("REMOTE_ADDR");
    }
    return 
    $realip;
    }
    $ip getip();

    // Mailversand - Variabeln in der config
      
    mail("$emailadresse""$mailbetreff""IP-Nummer des Absenders: $ip \r\n
    $kutsche"
      
    "From: Absender <Absenderemail>");

    // Erfolgsmeldung, dass Email versendet wurde - Variable in der config
    echo "$erfolg";

    ?>
    config.php:
    PHP-Code:
    <?php

    // Eigene Emailadresse
    $emailadresse 'xxxx@xxxxxxxx.de';

    // Betreff des Emails an den Empfänger
    $mailbetreff 'Neue Titeldeutung';


    // Erfolgsmeldung, wenn Email versendet wurde
    $erfolg="Die eMail wurde gesendet !<br><br>
    <input type=button value=zurück onClick=history.back()>"
    ;

    ?>
    Ein paar Sachen habe ich auch aus älteren Scripts, macht man das heute noch so?

    Wie ich allerdings den Begriff, den ich mir gemailt habe, in das Aufklappfenster kriege, dass der Begriff da zu lesen ist, ist mir noch rätselhaft. Jetzt steht er da nur in html. Schließlich muss er ja in eine xml oder txt oder sto-Datei und von da wieder zurück auf die Seite. Und von der Lösung, wie man diesen Begriff vom Email aus da wieder löscht, bin ich auch noch weit entfernt.

    Warum man eine Zufallszahl braucht, ist mir auch noch völlig schleierhaft.

    Das mit der xml Datei und wie man erkennt, ob der Server so was verarbeiten kann, ist auch noch unklar.

    Bitte helft mir weiter! Danke...

    Viele Grüße
    exi
    Geändert von exhubiranta (03.08.07 um 21:32 Uhr)
     

  7. #7
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Das mit register_globals=off hast du schon richtig erkannt, du müsstest es aber nicht erst in eine neue Variable schreiben. Vor allem benutzt du die Variable nirgends.

    Desweiteren kannst du schauen, ob in phpinfo(); SimpleXML oder DOM auftaucht, dann kannst du XML-Dateien parsen und schreiben.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    exhubiranta exhubiranta ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    93
    Wo steht bei mir was mit register_globals=off?

    In der "Configure Command" steht u.a.
    '--enable-xml' '--enable-simplexml'

    Zu meiner großen Überraschung steht da auch:

    SQLite
    SQLite support enabled
    PECL Module version 2.0-dev $Id: sqlite.c,v 1.166.2.11 2006/01/01 12:50:14 sniper Exp $
    SQLite Library 2.8.17
    SQLite Encoding UTF-8

    Directive Local Value Master Value
    sqlite.assoc_case 0 0

    Mir wäre SQlite lieber, wenn das geht!

    Viele Grüße
    exi
     

  9. #9
    Comenius Tutorials.de Gastzugang
    Auf die Zufallszahl/Zufallsbuchstaben bist du nicht zwingend angewiesen.

    Stell dir vor du hast einen festen, standartmäßigen Link zum Löschen der Daten.
    (Beispielsweise löschen.php)

    wenn der Link einmal bekannt ist, kann ihn jeder aufrufen und damit herumspielen.

    Lässt du dir nun einen Link mit Zufallswerten schicken (Beispielsweise löschen.php?wert=942829), kannst du den generierten Zufallswert beim Abschicken, irgendwo speichern.

    Klickst du in deiner Mail nun auf diesen Link, kann man mittels PHP ganz einfach diesen Wert aus dem Link mit dem gespeicherten Wert vergleichen. Stimmen sie überein, wird der Inhalt der Seite ausgeführt - in deinem Fall eben das Löschen...

    Natürlich kannst du auch einfach generell ein Loginscript auf die Seite, die für das Löschen der Daten verantwortlich ist, erstellen. In dem Fall hast du ein festes Passwort - welches ebenfalls irgendwo gespeichert sein muss - dass du mit einem Formular eingeben kannst und anschließend mit dem gespeicherten Passwort verglichen wird.

    Liegt an dir, für beide Varianten gibt es unzählige Tutorials und Scripts.

    Gruss
    Commi
     

  10. #10
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Zitat Zitat von exhubiranta Beitrag anzeigen
    Wo steht bei mir was mit register_globals=off?

    Ich meinte das hier:

    PHP-Code:
    // Wegen Lauffähigkeit auf sicheren Servern
    $kutsche$_POST["kutsche"]; 
    Wenn SQLite dabei ist, brauchst du keine XML-Datei nehmen. SQLite kannst du wie eine normale Datenbank ansprechen, ist quasi das semi-professionelle Äquivalent zu Access-Datenbanken, welche ebenfalls funktionieren könnten, wenn der entsprechende Treiber installiert wäre. Sollte mit ODBC gehen.

    Das Manual kann dir an dieser Stelle mehr verraten, als ich in 2 Stunden zusammen tragen könnte: http://de.php.net/manual/de/ref.sqlite.php
    Wenn du PHP5 drauf hast, kannst du sogar PDO_SQLite nehmen, was sicherheitstechnisch die bessere Variante wäre.

    Für Access hab ich grad nix gefunden, außer ein englisches Tutorial: http://www.phpfreaks.com/tutorials/61/0.php

    Gruß
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  11. #11
    exhubiranta exhubiranta ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    93
    Muss ich noch etwas installieren, bevor ich mit sqlite anfange? Mir war das nach dem Anlesen der genannten Seiten noch nicht klar.

    Wie verbinde ich das bisherige Script mit den Daten, die ich in der sqlite Datei abspeichere? Auch das habe ich noch nicht erfahren können. Oder soll ich gleich in ein anderen Thread gehen?

    Viele Grüße
    exi
     

Ähnliche Themen

  1. Suche ein Projekt wo ich mit Programmieren kann
    Von Code46 im Forum Stellengesuche (unentgeltlich)
    Antworten: 14
    Letzter Beitrag: 15.08.11, 14:24
  2. Suche Visionär, der programmieren kann
    Von sonne im Forum Stellenangebote (entgeltlich)
    Antworten: 2
    Letzter Beitrag: 12.03.10, 09:46
  3. Kleiner Job: Wer kann mir dies programmieren?
    Von Simon223 im Forum Stellenangebote (entgeltlich)
    Antworten: 0
    Letzter Beitrag: 21.12.09, 22:42
  4. Suche ein programm was ich Programmieren kann?
    Von Code46 im Forum Delphi, Kylix, Pascal
    Antworten: 0
    Letzter Beitrag: 29.09.08, 19:48
  5. Kann man https in html Programmieren?
    Von Jens1011 im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 20.04.08, 16:01