vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
PHP-Code per VB und "$HTTP_POST_VARS" übergeben 
Autor: Net^Devil
Datum: 06.09.05 21:52

Hi.
Schon wieder ein neues Thema von mir hier, aber ich danke mal ich sollte nicht mein altes Thema komplett umändern um daraus das neue zu machen:



Ich habe eine PHP-Seite zum Test geschrieben, die per $HTTP_POST_VARS einen String annimmt und ihn nachher in ein TextFile schreibt.
Per Browser ruft man die Test.html auf, dort gibt man in ein Textfeld den String ein und das wird dann an die Test.php übergeben.
Der ÜbergabeName lautet "Sache".

Codes:

Test.html

Code: (in HTML-Code)

 <body>
  <h2>PHP-Test-Datei</h2>
  <br>
  <form action="test.php" method="post">
  Gib was ein:    <input type="text" size="17" name="sache"><br>
 
  <center>
  <input type="submit" value="OK">
  </center>
  </form>
(Über Form und Farbe darf nicht gestritten werden)

Test.php

PHP-Code:
<? 
$datei = fopen("test.txt","r+"); 
$Sach = $HTTP_POST_VARS["Sache"]; 
fwrite($datei, $Sach); 
?> 
Datei beschrieben.
Wenn ich dies per Browser aufrufe geht alles, nur bei VB treten Fehler auf:


Funktion zum Übermitteln:

Code:

Public Function PostGet(strCommand As String, _
strURL As String, strFeldname As Variant, _
strData As Variant)
 
Dim strRequestString As String
 
Dim i As Integer
 
'Einlesen der Felder und Daten...
For i = LBound(strFeldname) To UBound(strFeldname)
 
If Len(strRequestString) = 0 Then
strRequestString = strFeldname(i) & "=" & strData(i)
Else
strRequestString = strRequestString & "&" & _
strFeldname(i) & "=" & strData(i)
End If
 
Next i
Inet1.Cancel
 
'Request starten...
Select Case UCase(strCommand)
Case "POST"
Inet1.Execute strURL, UCase(strCommand), _
strRequestString & vbCrLf
Case "GET"
Inet1.Execute strURL & "?" & strRequestString
End Select
 
'Auf Antwort warten... (evtl. Timeout einbauen!)
Do While Inet1.StillExecuting = True
DoEvents
Loop
 
'Auslesen der ersten 1024 Bytes der Antwort!
PostGet = Inet1.GetChunk(1024, icString)
End Function
Code, der die Arrays bestimmt:

Code:

Private Sub Command2_Click()
Dim strFeldname As Variant
Dim strData As Variant
Dim strRtn As String
 
strFeldname = Array("Sache")
strData = Array("Test")
 
strRtn = PostGet("POST", "http://localhost/PHP/test/VB-Test/test.php", _
  strFeldname, strData)
 
 
Text5.Text = strRtn
So.
Text5 zeigt mir an, das sich VB auf die entsprechende Seite verlinkt, aber dort werden dann Fehler angezeigt:

Zitat:
<br /> Notice: Undefined index: Sache in _
  S:\Progs\PHP\test\VB-Test\test.php on line 3<br /> Datei beschrieben.
Wieso kommt "Sache" nicht über ??

Habe bei mir einen OmniSecure v.3.0a4 - Server laufen.



Die 2te Methode die ich im Internet gefunden hab, wäre das direkt über das InetControl laufen zu lassen:


Zitat:
object.Navigate URL [Flags,] [TargetFrameName,] [PostData,] [Headers]

PostData Optional. Data to send to the server during the HTTP POST transaction. For example, the POST transaction is used to send data gathered by an HTML form to a program or script. If this parameter does not specify any post data, the Navigate method issues an HTTP GET transaction. This parameter is ignored if URL is not an HTTP URL.



Nur da hört mein English und meine Idee auf, wie man das anstellen könnte ....


Kennt einer von euch Hilfe ??

Mfg
MasterOfPuppets
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: PHP-Code per VB und "$HTTP_POST_VARS" übergeben 
Autor: ModeratorMartoeng (Moderator)
Datum: 07.09.05 01:24

Postdata optional. Daten, die an den Server während der HTTP Post-Transaktion gesendet werden sollen. Zum Beispiel werden Daten eines HTML-Formulars zu einem Programm oder Script geschickt. Wenn dieser Parameter keine Post-Daten spezifiziert verwendet die Navigate-Methode eine HTTP Get-Transaktion. Dieser Parameter wird ignoriert, falls URL keine HTTP Url ist.

Probier doch mal die Funktion aus der vbarchiv.dll
Da ist ein HTTP-Post realisiert, einfach nur mal zum Testen.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: PHP-Code per VB und "$HTTP_POST_VARS" übergeben 
Autor: Net^Devil
Datum: 07.09.05 15:37

Wo bekommt man das her *gg*

Also die vbarchiv.dll ^^
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: PHP-Code per VB und "$HTTP_POST_VARS" übergeben 
Autor: ModeratorMartoeng (Moderator)
Datum: 08.09.05 00:51

Schon mal nach links geguckt? Unter der C#-Ecke gibt's das Forum mit Download-Info, Bugreport etc.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel