Webservice JSON

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Webservice JSON

      ich habe mich einbisschen mit dem thema webservice und json beschäftigt.

      sehe ich das richtig, dass ich mit dem nachfolgenden script sämtliche abfragen in der datenbank machen kann und mich dann nur im programm um die entsprechenden verschiedenen rückgabewerte kümmern muss? also serverseitig nur ein script für die rückgabe notwendig ist?

      sicherheitstechnisch ist es schrott, mir geht es erstmal nur um das grundprinzip.

      PHP-Quellcode

      1. <?php
      2. $query = $_GET['query'];
      3. $host = "localhost";
      4. $db = "Datenbank";
      5. $user = "Benutzer";
      6. $pass = "Passwort";
      7. $connection = mysql_connect($host, $user, $pass);
      8. if(!$connection)
      9. {
      10. echo"Fehler";
      11. }
      12. else
      13. {
      14. $dbconnect = mysql_select_db($db, $connection);
      15. if(!$dbconnect)
      16. {
      17. echo"Fehler";
      18. }
      19. else
      20. {
      21. $resultset = mysql_query($query, $connection);
      22. $records = array();
      23. while($r = mysql_fetch_assoc($resultset))
      24. {
      25. $records[] = $r;
      26. }
      27. echo json_encode($records);
      28. }
      29. }
      30. ?>
      Alles anzeigen
    • bastl schrieb:

      sehe ich das richtig, dass ich mit dem nachfolgenden script sämtliche abfragen in der datenbank machen kann und mich dann nur im programm um die entsprechenden verschiedenen rückgabewerte kümmern muss? also serverseitig nur ein script für die rückgabe notwendig ist?
      Ja.
      Aber setz das in der Art und Weise bitte niemals irgendwo live ein.


      bastl schrieb:

      sicherheitstechnisch ist es schrott, mir geht es erstmal nur um das grundprinzip.
      Hoffentlich.
    • Wenn Du schon einsteigst, dann bitte nicht mit deprecated mysql. Benutze mysqli oder PDO.

      Wenn Du alle Datensätze eines Queries haben willst, dann brauchst du keine Schleife sondern kann einfach ein fetchAll() machen.

      Gruß

      Claus
      2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

      Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
    • Wenn du unbedingt ein universal Script haben willst, dass jeden Query ausführen kann, dann würde ich daraus einen POST request machen mit einem Parameter für den Query und einen Parameter mit einem guten HMAC Hash über den Query mit einem ordentlichen Salt.

      Gruß

      Claus
      2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

      Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
    • So ein Universalscript kann das ganze REST System aber auch ad absurdum führen.
      Es ist ja gerade der Sinn dahinter, dass man eben nicht einfach über eine eingegebene Query den ganzen Kram abfragen kann.
      «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

      Iä-86! Iä-64! Awavauatsh fthagn!

      kmr schrieb:

      Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
    • Marco Feltmann schrieb:

      So ein Universalscript kann das ganze REST System aber auch ad absurdum führen.
      Es ist ja gerade der Sinn dahinter, dass man eben nicht einfach über eine eingegebene Query den ganzen Kram abfragen kann.
      Sicher. Sobald mehr als ein CLient auf die DB zugreift bekommst du eh riesen Problem wenn du was schreiben willst. Eine gute Lösung ist das sicher nicht...
      2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

      Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
    • Ich hab das mal für Joomla gemacht, falls jemand sowas brauch....

      PHP-Quellcode

      1. <?php
      2. ini_set('default_charset', 'utf-8');
      3. define( '_JEXEC', 1 );
      4. define('JPATH_BASE', dirname(__FILE__) );
      5. define( 'DS', DIRECTORY_SEPARATOR );
      6. require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
      7. require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
      8. $mainframe =& JFactory::getApplication('site');
      9. $mainframe->initialise();
      10. $db =& JFactory::getDBO();
      11. $query = "SELECT ...";
      12. $db->setQuery($query);
      13. $data=Array();
      14. $gmtTimezone = new DateTimeZone('UTC');
      15. $userTimezone = new DateTimeZone('Europe/Berlin');
      16. if( $rows = $db->loadObjectList() )
      17. {
      18. foreach( $rows as $row )
      19. {
      20. ...
      21. $data[]=$row;
      22. }
      23. }
      24. $data = html_entity_decode(json_encode($data));
      25. echo $data;
      26. ?>
      Alles anzeigen
      Ich bin gegen Signaturen!!!
    • Transactions und Konsorten existieren ja nicht zum Spaß.
      Cool wird es, wenn Mensch versucht, das mit SQLite umzusetzen, weil's so viel einfacher ist als MySQL zu installieren. ^^
      «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

      Iä-86! Iä-64! Awavauatsh fthagn!

      kmr schrieb:

      Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P