php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.04.2008, 14:18  
Neuer Benutzer
 
Registriert seit: 10.04.2008
Beiträge: 8
cyberfreak befindet sich auf einem aufstrebenden Ast
Standard automatisches Aktivieren eines submit buttons

Hallo ich hab da ein kleines Problem...

Ich würde gerne ein externes Formular ausfüllen und abschicken lassen ohne die Seite wirklich aufzurufen.

Sprich ich realisiere gerade eine Seite mit einer Datenbank wo ich versuche mehrere Leute in Gewinnspiele einzutragen (keine Angst ist nichts illegales oder nur freunde und bekannte die das auch wollen)

Mein Problem ist nun folgendes:
Dies ist die Seite wo sie angemeldet werden wollen:

Fireair


Meine Idee war nun eine MYSql Datenbank mit Name Vorname usw die via eines Scriptes einen Link zusammenbaut. Der Link würde dann so ausehen:

Fireair

Dadurch füllt man ja nun automatisch die ganzen Felder aus.

Meine Frage ist nun wie ich den submit (bzw Abschicken) Button aktivieren kann so das die ausgefüllten daten auch automatisiert abgeschickt werden.
Sprich wie starte ich das Scipt das dahinter liegt zum Senden.

Ich hoffe das einer eine Idee hat
cyberfreak ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.04.2008, 15:07  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Das ist imo der falsche Ansatz.

Du solltest stattdessen schauen wohin das dortige Formular welche Daten schickt und das dann eben selbst automatisiert schicken....

Also in diesem Beislpiel per curl (oder fsockopen...) direkt den POST-Request an die gewinnspiel.php schicken...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 21.04.2008, 10:47  
Neuer Benutzer
 
Registriert seit: 10.04.2008
Beiträge: 8
cyberfreak befindet sich auf einem aufstrebenden Ast
Standard verzweiflun

Danke für die Antwort.
Ich habe allerdings nun das Problem das ich das irgendwie nicht hinbekomme. Hab sowas in der Art auch noch nie gemacht.

Kannst du (oder auch irgendjemand anders) mir vielleicht ein Codebeispiel dafür posten ?

Ich denke das es nicht wirklich schwer ist aber ich habe halt noch nicht wirklich viel erfahrung mit php.

Geändert von cyberfreak (21.04.2008 um 11:23 Uhr).
cyberfreak ist offline  
Alt 21.04.2008, 20:59  
Erfahrener Benutzer
 
Benutzerbild von Hu5eL
 
Registriert seit: 26.02.2008
Beiträge: 342
Hu5eL befindet sich auf einem aufstrebenden Ast
Hu5eL eine Nachricht über ICQ schicken
Standard

curl gabs hier schon paar mal:
http://www.php.de/php-einsteiger/511...il-parsen.html
Hu5eL ist offline  
Alt 22.04.2008, 13:07  
Neuer Benutzer
 
Registriert seit: 10.04.2008
Beiträge: 8
cyberfreak befindet sich auf einem aufstrebenden Ast
Standard eine Frage noch

Eine Frage hätte ich da noch kann mal jemand hie über diesen code gucken da ich vermute das hier noch irgendwas faul ist
Er spuckt zwar keinen fehler aus aber wenn ich die pfade ändere dann tut er das ebenfalls net ... und das kann ja nunmal auch nicht wirklich richtig sein

PHP-Code:
<?php

function PostToHost($host$path$referer$data_to_send) {
  
$fp fsockopen($host80);
  
printf("Open!\n");
  
fputs($fp"POST $path HTTP/1.1\r\n");
  
fputs($fp"Host: $host\r\n");
  
fputs($fp"Referer: $referer\r\n");
  
fputs($fp"Content-type: application/x-www-form-urlencoded\r\n");
  
fputs($fp"Content-length: "strlen($data_to_send) ."\r\n");
  
fputs($fp"Connection: close\r\n\r\n");
  
fputs($fp$data_to_send);
  
printf("Sent!\n");
  while(!
feof($fp)) {
      
$res .= fgets($fp128);
  }
  
printf("Done!\n");
  
fclose($fp);

  return 
$res;
}

$data "tom_gw_formID=gw_2008_04_05&eingabe%5Bgewinnspiel%5D%5Bantwort%5D=der+Bundestag&eingabe%5Bgewinnspiel%5D%5Banrede%5D=Frau&eingabe%5Bgewinnspiel%5D%5Bname%5D=Nagel&eingabe%5Bgewinnspiel%5D%5Bvorname%5D=Kim-Sue&eingabe%5Bgewinnspiel%5D%5Bemail%5D=kim-sue%40gmx.de&eingabe%5Bgewinnspiel%5D%5Bvorwahl%5D=0208&eingabe%5Bgewinnspiel%5D%5Btelefon%5D=6666666&eingabe%5Bgewinnspiel%5D%5Bvorwahl2%5D=&eingabe%5Bgewinnspiel%5D%5Bfax%5D=&eingabe%5Bgewinnspiel%5D%5Bstrasse%5D=Nohlstra%C3%9Fe+93&eingabe%5Bgewinnspiel%5D%5Bplz%5D=46045&eingabe%5Bgewinnspiel%5D%5Bort%5D=Oberhausen&eingabe%5Bgewinnspiel%5D%5Bland%5D=Deutschland&eingabe%5Bgewinnspiel%5D%5Bgeburtstag_monat%5D=8&eingabe%5Bgewinnspiel%5D%5Bgeburtstag_jahr%5D=1987&eingabe%5Bgewinnspiel%5D%5Beinwilligung%5D=yes&submitFormulargw_2008_04_05=Teilnehmen";

printf("Go!\n");
$x PostToHost(
              
"www.fireair.de",
              
"/gewinnspiel.php",
              
"http://www.fireair.de/gewinnspiel.php",
              
$data
);

Geändert von drieling (22.04.2008 um 19:35 Uhr). Grund: PHP Tags hinzugefügt. Bitte beim nächsten mal dran Denken ;)
cyberfreak ist offline  
Alt 22.04.2008, 14:16  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

klick hier: http://www.php.de/support/929-wie-kann-mir-am-besten-geholfen-werden.html
cycap ist offline  
Alt 22.04.2008, 15:45  
Neuer Benutzer
 
Registriert seit: 10.04.2008
Beiträge: 8
cyberfreak befindet sich auf einem aufstrebenden Ast
Standard Geschafft

So danke erstmal an alle die mir geantwortet haben ...

Ich habe es mit curl lösen können und das recht einfach
Ich Poste einfach mal meine Lösung
PHP-Code:
$ch curl_init();
//Variablen setzen
$url ="Fireair";
$arrSubmit="tom_gw_formID=gw_2008_04_05&eingabe%5Bgewinnspiel%5D%5Bantwort%5D=der+Bundestag&eingabe%5Bgewinnspiel%5D%5Banrede%5D=Frau&eingabe%5Bgewinnspiel%5D%5Bname%5D=Nagel&eingabe%5Bgewinnspiel%5D%5Bvorname%5D=Kim-Sue&eingabe%5Bgewinnspiel%5D%5Bemail%5D=kim-sue%40gmx.de&eingabe%5Bgewinnspiel%5D%5Bvorwahl%5D=0208&eingabe%5Bgewinnspiel%5D%5Btelefon%5D=6666666&eingabe%5Bgewinnspiel%5D%5Bvorwahl2%5D=&eingabe%5Bgewinnspiel%5D%5Bfax%5D=&eingabe%5Bgewinnspiel%5D%5Bstrasse%5D=Nohlstra%C3%9Fe+93&eingabe%5Bgewinnspiel%5D%5Bplz%5D=46045&eingabe%5Bgewinnspiel%5D%5Bort%5D=Oberhausen&eingabe%5Bgewinnspiel%5D%5Bland%5D=Deutschland&eingabe%5Bgewinnspiel%5D%5Bgeburtstag_monat%5D=8&eingabe%5Bgewinnspiel%5D%5Bgeburtstag_jahr%5D=1987&eingabe%5Bgewinnspiel%5D%5Beinwilligung%5D=yes&submitFormulargw_2008_04_05=Teilnehmen";
$cookies="/home/oem/.mozilla/firefox/6hzd1iuq.default/cookies.txt";

//Session Optionen setzen
curl_setopt($chCURLOPT_URL,$url);
curl_setopt ($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$arrSubmit);
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_COOKIEJAR$cookies);
curl_setopt($chCURLOPT_COOKIEFILE$cookies);
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
//curl_setopt($ch, CURLOPT_FILE, $fp);
//Ausführen der Aktionen
curl_exec($ch);
 
//Session beenden
curl_close($ch);
?> 
Nur noch eine Frage dazu:
Ich öffne damit ja ein Browserfenster... ich will aber das er mich nur anmeldet ohne mir das Fenster zu öffnen. Sprich ich will das er mir nur den POST request absendet und dann halt beendet da ich ja sonst be 100 gewinnspilen a 30 leuten die angemeldet werden sollen 3000 Fenster öffnet.
Wie ändere ich das, dass er nur sendet ohne ein fenster zu öffnen.

Geändert von drieling (22.04.2008 um 19:36 Uhr). Grund: PHP Tags hinzugefügt. Bitte beim nächsten mal dran Denken ;)
cyberfreak ist offline  
Alt 22.04.2008, 15:59  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Lies bitte zuerst den Link von cycap, insbesondere die Punkte 4 und 5.
__________________
Gruss
L
lazydog ist offline  
Alt 23.04.2008, 09:46  
Neuer Benutzer
 
Registriert seit: 10.04.2008
Beiträge: 8
cyberfreak befindet sich auf einem aufstrebenden Ast
Standard zweiter Versuch

Ich hoffe ihr meintet das so sorry wenn der code nicht richtig formatiert war

PHP-Code:
<?php
//Session initialisieren
         
$ch curl_init();

//Anbieter URL
         
$url ="http://www.fireair.de/gewinnspiel.php";

//Auszuführendes Script mit POST Daten
         
$arrSubmit="Der Link";

//Pfad zu Cookies
         
$cookies="Verzeichnis des Cookiesordners";


//Session Optionen setzen   -- > todo :Browserfenster unterdrücken
          
curl_setopt($chCURLOPT_URL,$url);
          
curl_setopt ($chCURLOPT_POST1);
          
curl_setopt($chCURLOPT_POSTFIELDS$arrSubmit);
          
curl_setopt($chCURLOPT_HEADER0);
          
curl_setopt($chCURLOPT_COOKIEJAR$cookies);
          
curl_setopt($chCURLOPT_COOKIEFILE$cookies);
          
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
          
//curl_setopt($ch, CURLOPT_FILE, $fp);

//Ausführen der Aktionen
          
curl_exec($ch);

//Session beenden
          
curl_close($ch);
?>
So nun zu meiner Frage wie kann ich es schaffen das er mich anmeldet ohne ein Browserfenster aufzumachen.
Sprich das er das Script ausführt mich anmeldet und dann dann aussteigt.

Die Idee wie ich oben schon geschrieben habe ist folgende, das der Sting mit den zu sendenden Daten aus den Inhalten einer Datenbank zusammengesetzt wird und da dies ein paar mehr sind soll er halt nicht jedesmal das Browserfenster öffnen da ich son hinterher 3000 Fenster offen habe und die alle zu schließen habe ich echt keine Lust.

Es ginbt doch bestimmt eine Funktion bzw Option in Curl die das auf einfache art realisiert.

Wie schon gesagt ich hoffe das der Code jetzt etwas besser lesbar ist.

Danke euch im voraus für eure Hilfe und Geduld mit einem php Anfänger

Geändert von cyberfreak (23.04.2008 um 09:51 Uhr).
cyberfreak 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
Image Button oder Submit mit Hintergrund? PsychoEagle HTML, Usability und Barrierefreiheit 3 19.07.2007 13:17
wert mit submit button übergeben Matthiasnet PHP Tipps 2007 2 07.04.2007 19:41
CSS: buttons linksbündig ausrichten flflfl HTML, Usability und Barrierefreiheit 1 30.09.2006 13:08
Javascript von Smileys und Buttons wie B U I ändern... mickschen HTML, Usability und Barrierefreiheit 10 07.06.2006 15:56
mehrere buttons für 1 formular HTML, Usability und Barrierefreiheit 7 23.12.2005 12:52
Formularauswertung 2 "submit" - buttons PHP Tipps 2005-2 7 11.09.2005 00:39
Mehrere Download Buttons OHNE JavaScript möglich ? PHP Tipps 2005-2 9 08.09.2005 10:30
Weiterleitung auf eine andere Seite nach Submit... PHP Tipps 2005-2 6 30.08.2005 08:35
[Erledigt] Quote Buttons in den Quick Reply Off-Topic Diskussionen 3 22.07.2005 16:45
variablenübergabe bei submit/ formaction PHP Tipps 2005-2 1 21.07.2005 20:07
Plausiprüfung bei submit PHP Tipps 2005 2 27.05.2005 11:14
button (submit) ->action auf https PHP Tipps 2005 7 18.04.2005 18:32
Flash Buttons PHP Tipps 2005 11 01.03.2005 19:45
[b]text automatisch bei submit in textfeld einfügen[/b] PHP Tipps 2004-2 10 05.12.2004 13:44
Form nach submit PHP Tipps 2004 1 02.06.2004 13:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
curlopt_postfields extern login, in hintergrund ausfüllen curl_exec, php submit aktivieren, php submit button aktivieren, mysql-datenbank deaktiviert, mit submitbutton session zerstören, automatisch ein submit button aktivieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:30 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