php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.05.2007, 11:04  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard Formular absenden, Query, Daten mitsenden

Hallo,

ich weiß nicht so genau nach was man suchen könnte. Vielleicht geht so etwas
auch gar nicht, aber das kann ich mir fast nicht vorstellen.

Ist es möglich ein Formular abzusenden, danach mit einer der Post Daten eine
Abfrage zu starten und diesen Wert an den Post anzuhängen und
neu zu versenden.

Warum? Nun ich möchte ein Login eines CMSs umschreiben. Dort kann man
sich standardmäßig mit Usernamen und Passwort anmelden. Nun hätte ich
gerne die Anmeldung über die Emailadresse und Passwort. So dachte ich
mir sende Emailadresse und Passwort, mache eine Datenbankabfrage über
die Emailadresse (die einzig ist - klar, sonst problematisch), hole mir den
Usernamen und sende das "Formular" mit den neuen Postdaten zum Login.
Damit ich das Core nicht hacken muss, dachte ich eher an eine solche
Lösung.

Ist so etwas möglich?

Grüße
Tine
tinchen ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.05.2007, 11:57  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ja ist möglich, die PEAR HTTP_Request-Klasse bietet das zum Beispiel an:
http://pear.php.net/package/HTTP_Request/

Ich würde aber eher den Login erweitern als so einen Wrapper vorzuschnallen oder wäre das zu aufwändig?
Zergling-new ist offline  
Alt 31.05.2007, 12:55  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Dankeschön, lese mich gerade ein da ich damit keine wirkliche Erfahrung habe.
Da steht, dass PEAR in der Regel schon verfügbar ist, wenn PHP installiert ist.
Weiterhin wird in den Beispielen immer eine Datei Datei eingebunden. Wie ist das
nun zu verstehen, muss man die Datei zusätzlich einbinden und liefert PEAR serverseitig
nur den Grundstock oder wie muss man sich das vorstellen?

Sorry, aber so ganz ohne Erfahrung in diesem Bereich ist dieses mächtige "Tool" erst
einmal ein Buch mit sieben Siegel. Keine Starthilfe wäre nett.

Grüße
Tine
tinchen ist offline  
Alt 31.05.2007, 15:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du musst eigentlich nur die PEAR.php und HTTP/Request.php einbinden und eventuell den include_path um den von PEAR erweitern, zum Beispiel mittels
PHP-Code:
<?php
set_include_path
(get_include_path() . PATH_SEPARATOR '/pfad/zu/pear/');
?>
Ein Verwendungsbeispiel findest du dann hier:
http://pear.php.net/manual/en/packag...uest.intro.php
Zitat:
Example 44-2. Fetching two website in a row

In this example, two websites are fetched and displayed. To the first one a POST parameter is passed. The POST data stack is cleared before the second website is fetched.


PHP-Code:
<?php
require_once "HTTP/Request.php";

$req =& new HTTP_Request("http://www.php.net");
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addPostData("Foo""bar");
if (!
PEAR::isError($req->sendRequest())) {
     
$response1 $req->getResponseBody();
} else {
     
$response1 "";
}
     
$req->setMethod(HTTP_REQUEST_METHOD_GET);
$req->setURL("http://pear.php.net");
$req->clearPostData();
if (!
PEAR::isError($req->sendRequest())) {
     
$response2 $req->getResponseBody();
} else {
     
$response2 "";
}

echo 
$response1;
echo 
$response2;
?>
Zergling-new ist offline  
Alt 01.06.2007, 12:10  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Vielleicht weiß ich nicht wo ich schauen muss, aber wie finde ich denn das Verzeichnis
zur PEAR heraus? Wenn ich mir die php info ansehe finde ich gar keine Hinweise auf
PEAR. Außer das das steht './configure' von without PEAR steht da nichts. Das Problem
ist also nicht die Anwendung selbst, sondern ich bekomme es nicht geregelt die
Dateien einzubinden. Wenn ich da etwas versuche bekomme ich so nette Warnings wie

Fatal error: main() [function.require]: Failed opening required 'Net/Socket.php'

Ich kann ja nicht mal mit Sicherheit sagen ob PEAR da überhaupt zur Verfügung steht.
Wie findet man das raus? Wie kommt man zu Pfad? Ist die Request.php schon ein Teil
des PEAR Pakets? Wenn nicht, wohin muss man das kopieren?

Also derzeit läuft es nicht wirklich. Das Problem liegt im Grundverständnis zur
PEAR. Wenn es erst einmal läuft kann man das Tutorial auch durcharbeiten, aber
wenn man nicht versteht wie das aufgebaut ist, wirds schwierig. Im Tutorial etc. konnte
ich darüber nicht wirklich etwas finden.

Grüße
Tine
tinchen ist offline  
Alt 01.06.2007, 17:52  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

rausfinden kannst du es, glaub ich jedenfals, mit phpinfo().

PHP-Code:
<?php
echo phpinfo();
?>
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 01.06.2007, 17:57  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Hatte ich ja geschrieben, dass ich dort geschaut hatte. Dort gibt es nicht einen einzigen
Eintrag in dem PEAR vorkommt. Heißt das, dass es kein PEAR gibt?
tinchen ist offline  
Alt 01.06.2007, 18:01  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von tinchen
Hatte ich ja geschrieben, dass ich dort geschaut hatte. Dort gibt es nicht einen einzigen
Eintrag in dem PEAR vorkommt. Heißt das, dass es kein PEAR gibt?
Also ich hab nur wa mit pear im include_path drin stehen.

Meine Phpinfo

Ob es das ist, kann ich dir nicht sagen.
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 01.06.2007, 18:19  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wie meinst du wo pear liegt? Das musst du schon selbst wissen Windows oder Linux-Maschine?

Notfalls zieh dir diese beiden Pakete:
http://pear.php.net/package/PEAR/download
http://pear.php.net/package/HTTP_Request/download
und entpacke sie dahin wo du es für sinnvoll hältst.
Es ist egal ob PEAR bei dir doppelt auf der Maschine liegt - letztlich ist PEAR nur ein Sammelsurium von in PHP-geschriebenen Klassen, also das gleiche was du auch so programmierst.

Dann musst du den pear/-Ordner zum include_path hinzufügen (wie, habe ich oben geschrieben) und kannst jetzt die HTTP_Request-Klasse mit
PHP-Code:
<?php
require_once 'HTTP/Request.php';
?>
einbinden, denn bei jedem require(_once)/include(_once) werden die durch PATH_SEPARATOR im include_path vorhandenen Pfade vor die einzubindende Datei gesetzt, üblicherweise ist dies der aktuelle Pfad (deshalb steht im include_path ja auch der einzelne Punkt, der als Pfadangabe das aktuelle Verzeichnis symbolisiert).

Das heißt PHP modelt 'HTTP/Request.php' um in './HTTP/Request.php', die Datei wird es vermutlich nicht geben und dann nochmal in '/pfad/zu/pear/HTTP/Request.php'.
Letztere sollte existieren wenn du den include_path gesetzt und alle benötigten Pakete installiert hast.

Bei PEAR ist es sehr einfach von Klassen-Namen auf Speicher-Ort zu schließen. Basispfad ist natürlich der gewählte pear/-Ordner, danach ersetzt du im Klassennamen alle Unterstriche durch das Ordnertrennzeichen und hängst ein ".php" dran.

Klasse:
HTTP_Request

Pfad:
pear + "HTTP/Request" + ".php"


Ich kenne die Abhängigkeiten von HTTP_Request jetzt nicht so genau (manche Klassen benötigen andere aus dem PEAR-Framework), das heißt sollten Klassen nicht eingebunden werden können, die nicht PEAR.php oder HTTP_Request heißen, musst du die jeweilige Klasse hier
http://pear.php.net/packages.php
nachladen und genauso installieren, wie du es mit HTTP_Request getan hast.
Zergling-new ist offline  
Alt 01.06.2007, 21:04  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Linux, PHP 4.4.6

Nun, ich habe nun das Skript von http://go-pear.org/ ausgeführt und die entsprechenden
Pakete installiert.

Wenn ich den Pfad mit
PHP-Code:
set_include_path('/srv/www/???????/html/pear' PATH_SEPARATOR get_include_path()); 
setze wir die Datei bzw. der Paket
PHP-Code:
require_once('HTTP/Request.php'); 
nicht gefunden.

Failed opening required 'HTTP/Request.php' (include_path='/srv/www/????????/html/pear:.:/usr/share/php')

Ich blick da gar nicht durch.
tinchen ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eintragen von Daten per Formular in MySQL Datenbank PHP Tipps 2004 11 07.06.2009 08:58
Einlesen von Daten in Formular Fragenfrager PHP Tipps 2006 3 14.08.2006 10:11
Formular mit Daten aus mehreren Frames Jacks Rache HTML, Usability und Barrierefreiheit 8 27.06.2006 15:03
POST Daten ohne Formular übergeben? &lt;Daniel&gt; PHP Tipps 2006 8 19.06.2006 14:34
Formular nach absenden leeren Rotti HTML, Usability und Barrierefreiheit 5 27.05.2006 18:38
Formular übermittelt keine Daten PHP Tipps 2006 4 08.03.2006 13:09
Daten über Formular eingeben und in Tabelle speichern. WIE? PHP Tipps 2006 20 10.02.2006 16:04
[Erledigt] formular aus anderem Frame absenden HTML, Usability und Barrierefreiheit 3 26.01.2006 15:37
Daten im Formular sollen erhalten bleiben 'progman' PHP Tipps 2005-2 11 02.09.2005 14:53
"Typ Set" Daten aus Formular werden falsch abgespe Datenbanken 3 25.07.2005 09:36
Daten von einer Liste in eine Eingabemaske (Formular) - wie? PHP Tipps 2005 6 26.05.2005 08:33
Formular - Daten in MySQL Datenbank speichern PHP Tipps 2005 13 04.05.2005 18:12
[Erledigt] Probleme mit dem anzeigen von Daten in einem Formular PHP Tipps 2004 2 26.07.2004 19:29
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44
Daten aus einem Formular auslesen??? PHP-Fortgeschrittene 1 21.06.2004 17:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html query aus datei, Über website daten mitsenden, formular datei mitsenden, mysql datenbank abfragen ohne formular abzusenden, query formular senden, form per query abschicken, access werte aus einer querydatei auslesn, peasr http_request formular, pear formular versenden, require_once \'http/request.php\';, html a eine klasse mitsenden, http://www.php.de/php-tipps-2007/44126-formular-absenden-query-daten-mitsenden.html, login daten mitsenden, form daten mitsenden, formular http_request, http request abschicken php, php httprequest abschicken, formulardatei mitsenden, http request get parameter mitsenden, pear packete nachladen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.