kostenloser Webspace werbefrei: lima-city


PayPal, Kontaktformular und Datenbank

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo :wave:

    Ich möchte, dass die Fragen, die man in ein Formular eingibt und absendet gleich auf einem bestimmten Teil der Webseite sichtbar sind. Wenn möglich, sollte noch PayPal mit ins Spiel kommen, weil man erst für die Frage zahlt, sie dann online erscheinen und dann von Hand beantwortet werden soll.

    Vllt. kann mir ja jemand helfen, weil ich keine Idee habe, wie ich das umsetzen soll. :slant:



    Gruß,
    Webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Tabelle Fragen

    Felder

    ID | Frage | bezahlt

    Wenn Formular ausgefüllt und abgesendet, wird der Datensatz in die Tabelle gespeichert, wenn bezahlt, dann wird das Feld auf true gesetzt und über eine WHERE-Bedingung im SQL-Statement das entsprechend angezeigt, was bezahlt ist.


    Kann natürlich sein, dass meine Glaskugel dich nun missverstanden hat.
  4. webdesignerin schrieb:
    Hallo :wave:

    Ich möchte, dass die Fragen, die man in ein Formular eingibt und absendet gleich auf einem bestimmten Teil der Webseite sichtbar sind. Wenn möglich, sollte noch PayPal mit ins Spiel kommen,


    du spielst wahrscheinlich auf AJAX bzw. JS an. Ich kann dir das JQuery Framework empfehlen. Sehr schnell zu erlernen. Und mit PayPal kenn ich mich jetzt zwar nicht so aus aber da gibts ja auch eine Schnittstelle und Dokumentation.



    ...ich hoffe meine Glaskugel ist besser als die von karpfen =P

    Beitrag zuletzt geändert: 2.2.2010 14:53:02 von myhead
  5. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hey Leute, :wave:

    Danke :thumb: für Eure Antworten - aber was habt ihr bloß mit Eurer Glaskugel??? :confused:

    Naja mir egal, weil darum geht es ja nicht. Ich bin gerade dabei die Tabelle zu erstellen, benötige aber leider noch Hilfe bei den anderen Feldern, weil ich kaum mit MYSQL arbeite und ich dementsprechend noch Erfahrung sammeln muss. :holy:

    Feld:____________________ ID___ - __Frage__-__bezahlt__
    Länge/Set:_______________?____  - ____?____ - ___?____
    Standard:________________?____  - ____?____ - ___?____
    Kollation:________________?____  - ____?____ - ___?____
    Attribute:_________________?____  - ____?____ - ___?____
    Null:____________________?____  - ____?____ - ___?____
    Index:___________________?____  - ____?____ - ___?____
    AUTO_INCREMENT:_______?____  - ____?____ - ___?____
    Kommentare:____________?____  - _____?____ - ___?____



    Gruß,
    Webdesignerin :angel:
  6. Die Glaskugel ist immer eine Anmerkung unsererseits, wenn du die Anforderungen nicht ganz genau, missverständlich oder nicht ausreichend erklärt hast. In deinem Fall bin ich mir nicht sicher, dass ich alles so richtig verstanden habe, deshalb habe ich auf die Glaskugel (Symbol für hellseherische Fähigkeiten) verwiesen, um zu sagen, dass ich nur vermute :biggrin:

    Feld ID:
    Datentyp "Integer"
    auto_increment
    Länge: Musst du wissen, je nach geschätzter Anzahl der Fragen

    Feld Frage:
    Datentyp "text"
    Länge "keine Angabe"

    Feld bezahlt:
    Datentyp "Bool"


    Im Übrigen, wenn du das mit Usern verknüpfen willst kann es sein, dass du mehrere Tabellen brauchst. Aber dazu fehlen uns einfach wichtige Details!
  7. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    karpfen schrieb:
    Die Glaskugel ist immer eine Anmerkung unsererseits, wenn du die Anforderungen nicht ganz genau, missverständlich oder nicht ausreichend erklärt hast. In deinem Fall bin ich mir nicht sicher, dass ich alles so richtig verstanden habe, deshalb habe ich auf die Glaskugel (Symbol für hellseherische Fähigkeiten) verwiesen, um zu sagen, dass ich nur vermute :biggrin:


    Achso, den Insider Witz kannte ich nocht nicht, aber Danke fürs Erklären. :wink:

    Feld ID:
    Datentyp "Integer"
    auto_increment
    Länge: Musst du wissen, je nach geschätzter Anzahl der Fragen


    Okay, aber in was muss ich die Länge eingeben. Wörter, Zahlen, Äpfel, Euros? Bezüglich der Anzahl der Fragen: Es soll immer nur eine Frage pro Payment übermittelt werden...


    Feld Frage:
    Datentyp "text"
    Länge "keine Angabe"

    Feld bezahlt:
    Datentyp "Bool"


    Ausgeführt. Derzeit keine weiteren Fragen Euer Ehren...:biggrin:


    Im Übrigen, wenn du das mit Usern verknüpfen willst kann es sein, dass du mehrere Tabellen brauchst.


    Danke, aber ich verknüpfe die Tabelle nicht mit Usern.


    Aber dazu fehlen uns einfach wichtige Details!


    Wenn ihr noch mehr Details braucht, einfach fragen, weil ich ja nicht weiß, welche Details ihr braucht.



    Gruß,
    Webdesignerin :angel:

    Beitrag zuletzt geändert: 2.2.2010 16:05:03 von webdesignerin
  8. Wenn du als Länge bei ID 8 eingibst, dann kannst du dort bis zu einer 8-stelligen Zahl speichern.
    Gibst du hingegen als Länge 1 ein, dann gehen nur die Zahlen von 0-9.

    Ich hoffe, das reicht als Erklärung :biggrin:
  9. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Ja das ist soweit verständlich. :thumb:

    Jetzt der nächste Schritt: Die Tabelle habe ich jetzt erstellt und wie binde ich jetzt die Tabellenabfrage in ein Formular ein? Bitte für Dummies erklären ... :holy:


    Gruß,
    Webdesignerin :angel:

    Beitrag zuletzt geändert: 2.2.2010 16:41:19 von webdesignerin
  10. Du willst doch das Formular an die Tabelle schicken nicht die Tabelle in das Formular einbinden, oder sehe ich das falsch?
    Wenn jemand das Formular ausfüllt und dann abschickt, rufst du eine Seite auf, die die Formulardaten verarbeitet (per Mail verschickt, wenn ich das richtig verstanden habe)

    Dort fügst du die Daten der Tabelle an.
    http://www.schattenbaum.net/php/mstart.php
  11. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    karpfen schrieb:
    Du willst doch das Formular an die Tabelle schicken nicht die Tabelle in das Formular einbinden, oder sehe ich das falsch?


    Nö, haste richtig verstanden so hatte ich das auch gemeint. Habe ich wohl irgendwie falsch ausgedrückt. Herrje - Deutsche Sprache schwere Sprache .... :rolleyes:

    karpfen schrieb:Wenn jemand das Formular ausfüllt und dann abschickt, rufst du eine Seite auf, die die Formulardaten verarbeitet (per Mail verschickt, wenn ich das richtig verstanden habe)


    Exakt. :thumb:

    Ich habe den Artikel hier auf der von Dir verlinkten Seite gefunden. Trifft er mein Anliegen oder streift er's nur?


    Gruß,
    Webdesignerin :angel:
  12. Dieser Artikel ist nur ein Bestandteil der Lösung. Im Endeffekt benötigst du aus dem Tutorial alle Artikel von "Verbindung zur Datenbank aufbauen" bis hin zu "Hinzufügen von Daten". Einfach mal etwas durchstöbern, dann wird dir sinniger und unsinniger Artikel klar. Wenn du Daten nachträglich verändern willst, dann brauchst du auch diesen Artikel!
  13. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Ja okay danke, werde mich ein bisschen einlesen, experimentieren und Euch das Ergebnis hier mitteilen. Kann aber ein bisschen dauern, weil ich erst mit MYSQL anfange und eine langsame Internetverbindung habe. :wink:


    Gruß,
    Webdesignerin :angel:

    Edit: Kurze Zwischenfrage: ich habe meine Tabelle nun noch um ein paar Spalten ergänzt und das Tutorial erfolgreich durchgearbeitet, und nun möchte ich wissen, wie MYSQL mir sagt, ob schon bezahlt wurde oder nicht - mit einer "0" oder einer "1"? Kann man das nicht auch mit "Ja" oder "Nein" machen? :confused:

    Beitrag zuletzt geändert: 3.2.2010 15:15:24 von webdesignerin

  14. Da das Feld bezahlt vom Typ bool ist, enthält es 0 oder 1 respektive false oder true.,

    Du kannst natürlich, wenn Du den Feldtyp änderst auch beliebig andere Kriterien definieren.

    Bool ist aber durchaus vorteilhaft, da damit die Abfrage am simpelsten ist.

    if($bezahlt) {echo "Kohle ist da"; ...weitere Anweisungen}


    Ansonsten müßtest Du mit
    if($bezahlt =="irgendwas") {echo "Kohle ist da"; ...weitere Anweisungen}


    arbeiten

    Was die langsame Internetverbindung betrifft: Versuch doch mal XAMPP als lokale Testumgebung. :wink:

    FF
  15. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hi! :wave:

    Hehe - :biggrin: Danke fatfreddy... :thumb:

    Ich habe jetzt schon geschafft die Antworten mit den Fragen auszugeben nur ist es im Moment so, dass alles aneinandergereiht ist und ich weder mit <br> noch \n einen Zeilenumbruch erzwingen kann. So sieht es halt ziemlich chaotisch aus. :rolleyes:

    Nun und dann möchte ich wissen, was ich noch im Coder ergänzen muss, damit die Daten vom Formular an die Datenbank gesendet und dort gespeichert werden...

    Ich weiß, dass das für die Könner der Code grauenhaft falsch erscheinen muss, ich weiß auch, dass er so nicht richtig ist, aber ich gebe zu, ich habe wirklich davon erstmal überhaupt keinen Plan, aber ich arbeite dran, wie ihr seht. Würde mich freuen, wenn sich jemand meiner wieder einmal erbarmt ... *grins* :wink:

    <?php
      include("dbconnect.php");
      ?>
    
    <html>
     <table border="0" cellpadding="1" cellspacing="2">
            <form action="enctype="multipart/form-data" method="post">
              <tbody>
                <tr>
                  <td><font-size="1">Vor- und Nachname:</font></td>
                  <td><input name="Name" size="15"
     type="text"></td>
                </tr>
                <tr>
                  <td><font-size="1">Emailadresse:</font></td>
                  <td><input name="Email" size="15"
     type="text"></td>
                </tr>
                <tr>
                  <td><font-size="1">Frage:</font></td>
                  <td><textarea cols="15" name="Frage"
     rows="5"></textarea></td>
                </tr>
    
                <tr>
                  <td colspan="2" align="center"><input
     name="Send" value="Abschicken" type="submit"> <input
     name="Reset" value="L&ouml;schen" type="reset"></td>
                </tr>
              </tbody>
            </form>
          </table>
      <?php
      $Frage = $_POST["Frage"];
      $Email = $_POST["Email"];
      $Name = $_POST["Name"];
     
      ?>
      <?php
      $eintrag = "INSERT INTO [i]meine_tabelle[/i] (Frage,Email, Name) VALUES ('$Frage',  '$Email', '$Name')";
      ?>
    
     <?php
      $eintragen = mysql_query($eintrag);
      ?>
      <?php
      $ergebnis = mysql_query("SELECT * FROM [i]meine_tabelle[/i]");
      ...
      mysql_free_result($ergebnis);
      ?>
    
    </html>



    Grüße,
    Webdesignerin :angel:





    Beitrag zuletzt geändert: 3.2.2010 19:07:30 von webdesignerin
  16. Das ist ne Zumutung, junges Fräulein :biggrin:

    Als erstes brauchst du nicht immer für jeden PHP-Befehl <? ?> machen sondern du darfst diese gerne alle innerhalb des PHP-Tags verwenden, siehe deine SQL-Statements.

    <form action="deineverarbeitendephpdatei.php" method="POST">

    Unter Action musst du die Datei angeben, die die Eingaben verarbeiten soll. Das kann eine neue php-Datei sein, oder aber auch die gleiche nochmal.

    Name als Feld für eine Tabelle ist kritisch, weil Name ein Schlüsselwort sein kann unter mysql. Da solltest du eher Nutzer oder sonstwas nehmen.

    Und was die komischen in den SQL-Statements machen kann ich nur erahnen, du wolltest nur die Tabellen kursiv schreiben, was im Code-Tag nicht geht.

    <?
    //Abfragen, ob der Abschicken-Button geklickt wurde
      if(isset($_POST['submit'])
     {
      $eintrag = "INSERT INTO meine_tabelle (Frage,Email, Name) VALUES ('$Frage',  '$Email', '$Name')";
      $eintragen = mysql_query($eintrag);
    }
    else
    {
    //gegebenenfalls eine Alternativverarbeitung
    }
    
    ?>


    Warum du die Daten im gleichen Zug mit dem SELECT wieder aus der Datenbank holen willst erschliesst sich mir nicht, du willst die doch irgendwo anders anzeigen lassen oder?



    EDIT: Du solltest vor allem mit der kleinsten Zerlegung von Daten arbeiten. Vorname in ein eigenes Feld und Nachname auch in ein eigenes Feld. Ist wenigstens zukunftssicher, wenn du mal Daten verwerten willst, in einem Fall, den du so noch nicht bedacht hast.

    Ausserdem solltest du dir mal überlegen, ob nachdem Abschicken der Daten das gleiche Formular aufgerufen werden soll oder ein anderes. Eine Schritt für Schritt Anleitung würde uns auch helfen, dir Hilfestellung zu geben.


    Beitrag zuletzt geändert: 3.2.2010 19:37:25 von karpfen
  17. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Sodele ...Dank des genialen Coachings hier habe ich es jetzt auch geschafft, die Daten durch ein Formular in die Datenbank zu bringen. :thumb:

    Bin also fast am Ziel. :wink:

    Ich habe aber noch eine Frage: Wie erreich ich, dass auch das aktuelle Datum und die Uhrzeit mitgesendet wird? :confused:



    Gruß,
    Webdesignerin :angel:
  18. Dazu reicht es eigentlich, wenn du in der Tabelle ein Feld mit dem Datentyp timestamp anlegst. Dann wird bei jeder Veränderung am Datensatz ein Zeitstempel gesetzt.

    Alternativ kannst du auch mit der PHP-Funktion date() diese Daten an die Datenbank übergeben:

    http://php.net/manual/de/function.date.php

    Beitrag zuletzt geändert: 4.2.2010 11:40:17 von karpfen
  19. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo karpfen! :wave:

    :kiss:

    Danke (auch für Deine Geduld) :thumb:, hatte bis heute TIME und DATE extra, wusste aber noch nichts vom TIMESTAMP im Dropdownmenü und habe gedacht, bevor ich irgendetwas verstelle, von dem ich keine Ahnung habe lieber Finger weg und vorher fragen. :biggrin:

    Dann ist da noch die Sache mit der automatischen ID. Ich habe ja wegen dem Formular viel herumprobiert und mittlerweile bin ich mit der ID bei 50 oder so, ich habe aber erst 7 echte Einträge und ich möchte nicht, dass da ein Sprung beim nächsten Formular von 7 auf 50 ist und dazwischen Nichts. Was muss ich machen? :confused:

    Da ich ja nun das Gröbste habe - kann man dieses Forumar in irgendeiner Weise mit einem Payment bei PayPal verbinden, sodass man gleichzeitig zahlt, während man das Formular abschickt und der Befehl bezahlt=1 (also ja) an die Datenbank übermittelt wird? Das Einloggen ins PayPal Konto zuvor ist natürlich vorrausgesetzt. Es sollte mit der selben Email Adresse bezahlt werden bei PayPal die seitens des Users im Formular eingegeben und an die Datenbank wurde. Klar - auch hier ist natürlich Vorraussetzung, dass er sich zuvor ins Konto eingeloggt hat.

    Ist das Alles in irgend einer Weise umsetzbar? :confused:


    Danke und LG,
    Webdesignerin :angel:
  20. Hier steig ich aus, Paypal kenn ich mich nicht aus. Sinn der auto-ID ist, dass der Datensatz einzigartig identifizierbar ist. Ansonsten blende die ID einfach nicht ein, dann stört das mit dem 7 auf 50 gar nicht.

    Um alle Werte zu befüllen müsstest du auf auto-ID verzichten und eine eigene Funktion basteln.
  21. Mal ein paar Denkansätze zu Paypal. ;)

    Möglicher Ablauf:

    1. Kunde meldet sich bei dir an (Daten werden in der DB abgelegt. Bezahltstatus: false)
    2. Du generierst eine Anfrage an Paypal mit den nötigen Daten (Summe, Währung, Eindeutige ID des Vorganges) und leitest damit den Kunden zur Zahlungsseite von PP.
    3. Paypal schickt eine Antwort, in der Kunden- und Zahlungsdaten enthalten sind.
    4. Diese Antwort wertest Du aus. Wenn Paypal in der Antwort die Zahlung bestätigt hat, änderst Du den Bezahlstatus des Kunden in der Datenbank auf true und bestätigst dem Kunden den Zahlungseingang.
    5. Kunde bekommt die Rechte, die er mit einer Bezahlung gekauft hat.

    Fertig.

    Das alles in ein Formular zu packen ist nicht sinnvoll. Du solltest das Prozedere in mehrere Scripte aufteilen. Dann hast Du auch bessere Möglichkeit auf eventuelle Fehler zu reagieren. (Kunde zahlt nicht sofort. Paypal funktioniert gerade nicht, etc.)


    Detailiertere Beschreibung zum Vorgang bei PayPal findest Du hier: http://www.paypal.com/de_DE/html/IntegrationCenter/ic_ppe_home.html

    Paypal bietet im Übrigen auch eine Möglichkeit, ein selbstgeschriebenes Script mit Testdaten auf Funktion zu prüfen. Du wirst nicht vermeiden können, dich mit dem Kram dort intensiver auseinanderzusetzen. Wenn bei einer Zahlung etwas schiefgeht, sind Kunden verständlicherweise schnell sehr verärgert.

    FF


  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!