[PHP5] Hilfe!! Schnittstelle programmieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] Hilfe!! Schnittstelle programmieren

    Hallo zusammen,

    ich bräuchte eure hilfe bzw. rat.

    Bin in php noch ziemlich unerfahren, möchte dennoch eine schnittstelle zu einer andere Homepage programmieren.

    Ich schildere euch mal kurz mein Vorhaben. Vielleicht habt ihr ja eine idee,
    einen Ansatz oder sowas in der richtung. Bin auf jedenfall um jede hillfe
    dankbar.

    Wie schon gesagt ich möchte eine schnittstelle zu einer anderen Homepage erstellen.
    Habe mir vorgestellt, dass diese folgende Funktionalität haben sollte:

    * Ausgehende von meiner HP auf der anderen HP einloggen.

    * Eingabe auf meiner HP z.B. eine Bestellnummer, dann suche nach der
    Bestellnummer auf der anderen HP (automatisch).

    * Tabelle die auf der anderen HP dargestellt wird, in ein PHP Array
    einlesen.

    Hoffe ihr versteht meine Vorhaben ??

    Ich wäre euch sehr dankbar wenn ihr mir helfen könntet. Wie schon gesagt,
    bin um jede hilfe dankbar.

    Gruß

    Steve

  • #2
    Was du machen muss ist im Prinzip nur die Bestellnummer per fsockopen an eine Datei die auf den anderen Servern liegt zu senden. Dies machst du per POST. Das Script auf der anderen Seite erwartet nun per POST auf die Bestellnummer. Diese Bestellnummer suchst du dann auf der anderen Seite und gibst das Ergebnis zurück.

    Ablauf Beispiel
    Dein Server
    - Eingabe Bestellnummer
    - Dein Script sendet die Bestellnummer an den anderen Server und wartet

    Anderer Server
    - Datei wird aufgerufen und erhält per POST die Bestellnummer und sucht nun danach.
    - Dein Server macht z.B. ein einfaches echo und gibt das Ergebnis zurück

    Dein Server
    - Hat die ganze Zeit gewartet, erhält nun aber die Antwort und verarbeitet diese.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      [PHP5]

      Hi Benny-one,

      ich danke dir erstmal für deine Hilfe und schnelle antwort.

      Wollte dich noch fragen ob du dafür auch ein Code Beispiel hast, an dem
      man sowas sieht bzw. einen link evtl.

      Wäre echt sehr hilfreich für mich.

      Vielen Dank im Voraus.

      Gruß

      Steve

      Kommentar


      • #4
        Nein. Lese! fsockopen im Manual nachschlagen, da gibts genug Beispiele.
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          Um das ganze von benny mal auf einen vernünftigen Begriff zu bringen: SOAP - lesen, lernen, anwenden

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Macht nur sinn wenn die andere "page" die vorraussetzungen
            erfüllt. Aus seinen beschreibungen hört es sich für mich so an
            als würde die seite bereits existieren und nicht dem OP gehören.

            Vielleicht sagt er uns etwas mehr über die beiden seiten und
            den hintergrund der geschichte, bevor sich hier jemand entschliesst
            weiter zu helfen.

            greets
            (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

            Kommentar


            • #7
              hier mal ein beispiel, welches ein formular sendet und das ergebnis in einer datei speichert.
              in diesem fall werden ALLE schulen bei schulen-ans-netz ausgelesen.

              curl ist hier als php extension vorausgesetzt.

              PHP-Code:
              <?php

              set_time_limit
              (0);

              $bundesland[1] = 'Baden-Württemberg';
              $bundesland[2] = 'Bayern';
              $bundesland[3] = 'Berlin';
              $bundesland[4] = 'Brandenburg';
              $bundesland[5] = 'Bremen';
              $bundesland[6] = 'Hamburg';
              $bundesland[7] = 'Hessen';
              $bundesland[8] = 'Mecklenburg-Vorpommern';
              $bundesland[9] = 'Niedersachsen';
              $bundesland[10] = 'Nordrhein-Westfalen';
              $bundesland[11] = 'Rheinland-Pfalz';
              $bundesland[12] = 'Saarland';
              $bundesland[13] = 'Sachsen';
              $bundesland[14] = 'Sachsen-Anhalt';
              $bundesland[15] = 'Schleswig-Holstein';
              $bundesland[16] = 'Thüringen';

              $ch curl_init('http://www.schulen-ans-netz.de/schulen/index.php');
              $vars = array();
              $vars['SN'] = '';
              $vars['SchulformNr'] = '0';
              $vars['PZ'] = '';
              $vars['OT'] = '';
              $vars['menge'] = '20';
              $vars['submit'] = 'submit';

              foreach (
              $bundesland as $bundeslandnr => $name)
              {
                  echo 
              '<br/>'.$name;
                  
              flush(); ob_flush();
                  
              $vars['page'] = 0;
                  
              $schools = array();
                  
              $found true;
                  while (
              $found)
                  {
                      
              $vars['LandNr'] = $bundeslandnr;
                      
                      
              curl_setopt($chCURLOPT_POST1);
                      
              curl_setopt($chCURLOPT_POSTFIELDS$vars);
                      
              curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                      
                      
              $data curl_exec($ch);

                      
              preg_match_all('/<a href=".*?\.php" title="Details anzeigen">(.*?)<\/a><br>\s*SaN-Nummer: .*?<br>\s*(.*?)<br>\s*(\d*) (.*?)<hr>/is'$data$matchesPREG_SET_ORDER);
                      foreach (
              $matches as $match)
                          
              $schools[] = array($match[1], $match[2], $match[3], $match[4]);

                      
              $found preg_match('/<input type="submit" value="Seite vor"/'$data);
                      
                      
              $vars['page'] += 20;
                      echo 
              '.';
                      
              flush(); ob_flush();
                  }
                  
              file_put_contents('schulen_'.$name.'.txt'serialize($schools));
              }
              curl_close($ch);

              ?>
              1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

              /(bb|[^b]{2})/

              Kommentar


              • #8
                hallo zusammen,

                so wie closure es sagt. die seite besteht schon, nenne wir sie mal baumarkt.de, somit ist es einfach denke ich.

                hierzu möchte ich eine schnittstelle in php programmieren.
                grob gesagt ich möchte von meine seite auf die baumarkt.de zugreifen
                können um z.b. meine bestellung mit allen daten anzusehen (bzw. der baumarkt seite vorgaugeln das ich mich auf ihr befinde) und möchte diese daten später dann in meine datenbank einlesen.
                ich denke mal dass man die daten erst in ein array übernimmt und
                von dort dann in die db einliest??!!

                hoffe ich habe es einwenig verständlich ausgedrückt, was ich gerne machen möchte???

                Gruß

                Steve

                Kommentar


                • #9
                  verstehe.. du möchtest fremde inhalte klauen? das solltest du mit dem betreiber der quellseite besprechen. und wenn er einverstanden ist, bitte ihn, die daten in einem lesbaren format, etwa xml, bereitzustellen.

                  Kommentar


                  • #10
                    ok vielen dank für eure hilfe.

                    gruß

                    steve

                    Kommentar

                    Lädt...
                    X