1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Formulardaten an php-File übergeben

Dieses Thema im Forum "Allgemeines" wurde erstellt von Ati, 18. Februar 2014.

  1. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Hallo,

    in einem speziellem zusammenhang muss ich Formulardaten an eine PHP-Datei übergeben, welche in meinem
    Plugin-Verzeichnis liegt. Allerdings geht es ja nicht mit dem berühmten action="datei.php".
    Auf Codex habe (bisher zumindest) nichts gefunden. Wie muss ich solch einen Fall bei Wordpress lösen?

    NACHTRAG: Ich muss in der php-Datei auch z.B. mit Sachen wie $wpdb arbeiten können

    Ati
     
    #1 Ati, 18. Februar 2014
    Zuletzt bearbeitet: 18. Februar 2014
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    sende das Formular an Wordpress /index.php

    Warum nicht?

    http://www.php-faq.de/q-formular-variablen.html

    und das Problem ist?

    Zeigt doch einfach mal deinen code
     
  3. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Im Prinzip geht es darum aus diversen Filtermöglichkeiten eine SQL-Abfrage nach Excel/CSV zu exportieren und diese sofort "Downloadbar" zu machen. Aktuell ist es ja mal nur ein Testcode aber wehe ihr lacht :)
    Formular Code
    Lasse ich bei action nur "export.php" drin kommt...Die Seite konnte nicht gefunden werden!
    Hier mal die export.php
    Wenn ich jetzt meine Daten absenden will kommt "Notice: Trying to get property of non-object" und das bezieht sich
    auf die Zeile
     
  4. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
  5. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Die einen sagen so, die anderen sagen so...vielleicht sehe ich auch nach 12 Stunden den Wald vor lauter Bäumen nicht mehr.
     
  6. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    hallo,

    puh...

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    schon einmal angesehen, was dabei raus kommt? sorry ...

    sende an Wordpress deine Variable (wenn du nicht nachvollziehen kannst, wie wordpress dies macht, betrachte das suchformular in Wordpress)

    Trenne html und PHP sonst wirst du die Fehler nicht finden.

    verwende Wordpress und nicht dein Plugin als Ziehl.

    Hoffe, dies hilft dir weiter...

    ralf
     
    #6 r23, 18. Februar 2014
    Zuletzt bearbeitet: 18. Februar 2014
  7. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    12 Stunden ist ja keine Zeit, ich meine ich sehe da ja noch viel weniger als Du. Ich sehe nur eine Frage nach dem Namen der Tabelle und nicht nach deren Inhalt. Doch was möchtest Du mit dem Namen von der Tabelle, wenn im Anschluss keine SQL-Abfrage zu sehen ist?
    Oder ich verstehe gerade etwas nicht und ich verstehe ja auch wirklich noch nicht viel, doch einige von den Beispielen auf der Seite habe ich zumindest bereits ausprobiert und nie so eine Warnung erhalten, höchstens andere oder gar nichts.
     
  8. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    @r23
    der Eintrag bei "action=" ist der verzweifelung geschuldet. Trage ich nur datei.php ein kommt ein "Die Seite wurde nicht gefunden". Werde mir das Suchformular mal anschauen und auch Deinen Hinweis html und php zu trennen.
    @Melewo
    ich meinte mit 12 Stunden arbeiten...da sieht man das eine oder andere offensichtliche nicht mehr :)
     
  9. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Ja und da sollte man sich halt einmal 12 Stunden Zeit nehmen und austesten, ob zum Beispiel get_bloginfo("wpurl") oder site_url() der richtige Weg wäre:

    http://www.coder-welten.com/wp-funktionen-home_url-und-site_url/

    Und wenn die Post an die selbe Seite geht, so genügt zur Not auch:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  10. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    bitte! richtig! Server["HTTP_HOST"] ist überlüssig.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    oder

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wird hier aber nicht benötigt und verwirrt den TE nur.
     
  11. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    So dann will ich mal

    1. Melewo es zwingt Dich niemand meine Fragen hier zu beantworten. Wenn Du das aber machst bitte mit etwas Respekt. Ich bin kein dummer Junge und will auch so nicht behandelt werden. Ich hatte in #3 geschrieben das dies Testcode ist...also gab es da noch keine weitere SQL-Anweisungen, da ja schon vorher ein Fehler gemeldet wurd. Mit 12 Stunden meinte ich meine eigentliche Arbeit. Das hier ist mehr oder weniger Hobby.

    2.
    Kann Dir da nicht folgen. Erklär mal bitte!! Und auch wie es am besten wäre!

    3. Habe ich meinen "Fehler" gestern noch gefunden. Als ich in der zweiten Datgei wp-load eingebunden habe, ging alles. Allerdings habe ich aktuell immer noch den von euch kritisierten "Action-Code" verwendet.

    Ati
     
  12. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Ja gut, wenn Du aussagekräftige Beispielcode lieferst, aus denen das erahnbar ist, zum Beispiel durch einen kleinen Kommentar im Beispielcode, wie:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Hätte schon vollständig genügt um zu erkennen, dass Du kein blutiger Anfänger bist, der die Hälfte mal kurz weglässt. Und dafür gibt es genügen Beispiel hier im Forum, wie erst vor Tagen eine Else ohne das etwas folge oder geschlossen wurde, weil dem Fragesteller der Sinn und die Syntax von if/else scheinbar völlig fremd waren.

    Ist geeignet um zum Beispiel eine Datei zu laden:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Sind beide fürs Attribut action in Formularen geeeignet, mit gewissen Unterschieden:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Eine Datei wie beitragsseite.php existiert nicht, es wurde nur ein Beitrag mit dem Titel 'beitragsseite' gespeichert, und die Einstellung für Permalinks ist Beitragsname:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Eine Datei wie beitragsseite.php existiert, zum Beispiel in einem Verzeichnis /test:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #12 Melewo, 19. Februar 2014
    Zuletzt bearbeitet: 19. Februar 2014
  13. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Hm ich würde mich schon als Anfänger bezeichnen...aber mit gefährlichem Halbwissen :D.
    Ich hielt meine Version nicht für so verkehrt, falls sich (was und wie auch immer) in der Ordnerstruktur ändert.
    Gemäß Deinem letztem Beispiel müßte das dann in etwa doch so aussehen oder?
    Zumindest paßt hier auch das Ergebnis!!
     
  14. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Wenn es funktioniert, dann ist es ja gut. Werde mal heute meine Seite auch noch einmal überarbeiten und weiter unten dann eine Zusammenfassung einfügen. Mit esc_url() würde ich es für besser halten, doch da wollte ich auch noch einmal etwas testen.

    Was ich jetzt nicht so richtig nachvollziehen kann, möchtest Du die Post an einer Seite im Plugin übergeben?
     
    #14 Melewo, 19. Februar 2014
    Zuletzt bearbeitet: 19. Februar 2014
  15. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Ich habe vielleicht sogar noch was besseres gefunden.
    Funktioniert auch
     
  16. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Ich verstehe ja nicht, wieso Du Post an eine Datei im Plugin-Verzeichnis senden möchtest, statt zum Beispiel eine Funktion oder Klasse zu schreiben, die das direkt abrufen und übergeben kann und nicht das da jeder beliebige User Post an ein Plugin senden kann?

    Innerhalb vom Dashboard würde ich das als normal empfinden, dass man das dann vielleicht per Formular (mit oder ohne Ajax) erledigt, doch aber nicht unbedingt von den öffentlichen Seiten aus. Und im Dashboard könntest Du die Dateien dann gleich so verarbeiten, zum Beispiel mit in dem Du die mit dirname(__FILE__) einbindest und was erforderlich ist als Objekt übergibst.
    Ich verstehe zwar so halbwegs was Du vorhast, doch soll das öffentlich sein? Dann lege dafür doch eine benutzerdefinierte Seite mit einem Formular an, filtere die Eingaben richtig, mache mit den Eingaben eine DB-Abfrage und verarbeite das intern.
     
    #16 Melewo, 19. Februar 2014
    Zuletzt bearbeitet: 19. Februar 2014
  17. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Es geht in diesem konkreten Fall um den Export einer gefilterten SQL-Abfrage (eigene Tabelle) in eine CSV-Datei.
    Nur dafür nutze ich die Datei
     
  18. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    Hallo,


    Sende deine Variablen aus dem Formual an Wordpress - Was verstehst du daran nicht?
    Wenn du deine Variablen mit <form method="post" action="http://blog.r23.de/'" ... sendest, erhalte ich die Daten - was genauso sinnfrei ist - als wenn du dein Daten an ein Script in einem Plugin Verzeichnis sendest. Da kommen nur die Varibalen an. Die Funktionen und Möglichkeiten von Wordpressen stehen dir so nicht zur Verfügung.

    Überlasse doch einfach Wordpress welche Objekte, Funktionen geladen werden müssen, damit in deinem Plugin (dann Teil von Wordpress) die Datenbank zur Verfügung steht.

    grummel... Es gibt hier ein jobforum! Such dir einen Bastler, der dir ein expoert script schreibt - wenn du noch nicht einmal das suchformular in wordpress verstehst. es gibt sicherlich auch fertige Pluigins...
     
  19. Ati

    Ati Well-Known Member

    Registriert seit:
    27. April 2013
    Beiträge:
    49
    Zustimmungen:
    0
    Hab jetzt 2x alles durchgelesen, aber keine Aussage von mir gefunden das ich das Suchformular nicht verstehe....nur das ich es mir mal angucken werde. Aber mein Export geht soweit von daher alles gut.
     
  20. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    und warum sendest du es dann an dein Script und nicht an Wordpress?

    bist du dir sicher?

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    oder sollen Hacker neue Möglichkeiten erhalten

    Ich hoffe, du hast es für einen Kunden geschrieben.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden