Sending json data to a remote server – howto

21. April 2016 at 14:00

firebug

If you’re sending json requests there are different possible solutions on programming with php. Here some different explained:

1. Using Streams

‚method‘ => ‚POST‘,
‚content‘ => json_encode( $data ),
‚header’=> „Content-Type: application/json\r\n“ .
„Accept: application/json\r\n“
)
);

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result);
var_dump($response);

2. Raw HTTP Post

Using Zend Framework’s HTTP client: http://framework.zend.com/manual/en/zend.http.client.advanced.html#zend.http.client.raw_post_data

$json = json_encode($data);
$client = new Zend_Http_Client($url);
$client->setRawData($json, ‚application/json‘)->request(‚POST‘);
var_dump($client->request()->getBody());

3. Using Curl

<?php
$content = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
        array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //curl error SSL certificate problem, verify that the CA cert is OK
$result     = curl_exec($curl);
$response   = json_decode($result);
var_dump($response);
curl_close($curl);
?>

4. Using Ajax

var data = <?php echo json_encode($data) ?>;
var url  = '<?php echo $url ?>';
jQuery.ajax({
    type: "POST",
    url: url,
    data: JSON.stringify(data),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data){
        var jsonObj = jQuery.parseJSON(data);
        alert(jsonObj.encPassword);
    },
    failure: function(errorMsg) {
        alert(errorMsg);
    }
});

Please share this article von facebook & google plus or where you want, thank you!

Anleitung: PostgreSQL-Servers unter xampp installieren

19. Januar 2016 at 15:51

db

Ein PostgreSQL-Servers unter xampp installieren ist gar nicht so schwer, hier die Anleitung dazu:

Nach dem XAMPP installiert ist legt man im Ordner unter „C:\XAMPP“ (oder wo xampp installiert wurde) ein neuen Ordner namens „pgsql“ sowie darin ein Ordner „data“ (also C:\xampp\pgsql\data) an. Die PostgreSQL könnt ihr laden unter http://www.postgresql.org/download/ .

Startet die Installationsroutine von postgresql und ändert das Installationsverzeichnis zu „C:\XAMPP\pgsql“.

Danach installieren wir phpPgAdmin, ein adäquat zu phpMyAdmin um die Datenbank zu verwalten.
Dazu legen wir im xampp Ordner den Ordner „C:\XAMPP\phpPgAdmin“ an.
phpPgAdmin downloaden unter http://phppgadmin.sourceforge.net/doku.php?id=download

Jetzt müssen wir xampp noch dazu bringen auch mit der PostgreSQL zusammen zuarbeiten.
Dazu editieren wir die Datei „C:\XAMPP\phpPgAdmin\conf\config.inc.php“.
Sucht dort nach der Zeile

$conf[‚extra_login_security‘] = true;

und ändert diese in

$conf[‚extra_login_security‘] = false;

In der Datei „php.ini“ im Verzeichnis „C:\XAMPP\php“ sucht ihr die Zeile

;extension=php_pgsql.dll

und ändert diese in

extension=php_pgsql.dll

In der Datei „http-xampp.conf“ im Verzeichnis „C:\XAMPP\apache\conf\extra“ sucht ihr nach dem folgenden AbschnittfügtAlias /phpmyadmin „C:/XAMPP/phpMyAdmin/“
<Directory „C:/XAMPP/phpMyAdmin“>
AllowOverride AuthConfig
</Directory>

Und fügt darunter die folgende Zeile hinzu:

Alias /phppgadmin „C:/XAMPP/phppgadmin/“
<Directory „C:/XAMPP/phppgadmin“>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
Order Deny,Allow
Allow from all
</Directory>

Jetzt den Apache-Server neu starten (geht direkt über das XAMPP Control-Programm) und Ihr könnt über den Web-Browser und der URL (http://localhost/phppgadmin) auf den PostgreSQL-Server zugreifen.

Falls benötigt, der Default-User ist „postgres“ 😉

Please share this article von facebook & google plus or where you want, thank you!

MySQL Query Sammlung / MySQL Query Library

8. April 2015 at 17:34

sql-statement-mysql

Some MySQL Querys which you need by the programming with php / mysql or  magento:

MySQL Update with sub-select: Update a value of an option, e.g. „price“, where option-name is like „optionname“

UPDATE catalog_product_option_type_price t1
SET t1.price='30'
WHERE t1.option_type_id in (SELECT option_type_id FROM catalog_product_option_type_title WHERE `title` like '%optionname%');

Other example with an own table where are not all product_id’s imported and must be updated by sku

UPDATE mypharmacy_stock_statistical_data t2,
(   SELECT entity_id,sku
    FROM catalog_product_entity
) t1
SET t2.product_id = t1.entity_id
WHERE t1.sku=t2.sku

Please share this article von facebook & google plus or where you want, thank you!

Magento: Add custom column in admin grid with own data & filter

29. August 2014 at 13:18

How to create a custom grid filter with a new column with own data (not from collection) and filter this data?

First Step

Enhance the grid, for example extends the Mage_Adminhtml_Block_Catalog_Category_Tab_Product

overwrite the  _prepareColumns() methode with new column

      $this->addColumn('price_yesno', array(
            'header'    => Mage::helper('catalog')->__('Price exist'),
            'sortable'  => true,
            'width'     => '60',
            'index'     => 'price',
            'type'      => 'options',
            'align'     => 'center',
            'renderer'  => 'Fly2mars_Catalog_Block_Adminhtml_Category_Renderer_Hasprice',
            'editable'  => 0,
            'options' => array('1' => 'Yes', '0' => 'No'),
            'filter_condition_callback' => array($this, '_filterHasPrice')
        ));
return Mage_Adminhtml_Block_Widget_Grid::_prepareColumns();

And add in the same class the following callback methode

    protected function _filterHasPrice($collection, $column)
    {
        $value = $column->getFilter()->getValue();
        $collection = $this->getCollection();
        if($value == 1) {
            $collection->addFieldToFilter('price', array('notnull' => true));
        } else {
            $collection->addFieldToFilter('price', array('null' => true));
        }
        return $this;
    }

Second Step

You need the renderer, for this example you add in the file Fly2mars_Catalog_Block_Adminhtml_Category_Renderer_Hasprice

class Fly2mars_Catalog_Block_Adminhtml_Category_Renderer_Hasprice
    extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    /**
     * Check if product has price
     *
     * @param   Varien_Object
     * @return  string
     */
    protected function _getValue(Varien_Object $row)
    {
        if($row->getData('price') != '') {
            return 'Yes';
        }
        return 'No';
    }
}

that’s it.

Please share this article von facebook & google plus or where you want, thank you!

MySQL: Doppelte Datensätze finden

6. Februar 2014 at 17:44

Ihr müsste doppelte Datensätze innerhalb einer MySQL-Tabelle finden?

Das folgende SQL-Query hilft euch dabei (in spalte 1 werden doppelte Datensätze gesucht):

<code>SELECT COUNT(*) AS COUNT, spalte1, spalte2 FROM tabelle
GROUP BY spalte1 HAVING COUNT(*)>1;
</code>

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

Apache: SSLSessionCache: Invalid argument: size has to be >= 8192 bytes

5. Dezember 2013 at 15:43

Die Fehlermeldung des Apache-Servers unter Windows

Ihr erhaltet beim start des Apache die Fehlermeldung „SSLSessionCache: Invalid argument: size has to be >= 8192 bytes„?

screenshot-cmd-apache-windows-sssessioncache-error

Kein Grund zur Panik!

Die Lösung

Gebt folgenden Befehl in der cmd.exe-console ein: dir /x c:\
um die Kurzform des Pfades zum Apache zu erfahren, in diesem Fall C:\PROGRA\~2\Zend\Apache2

cmd-dir-x-c-apache-sslsessioncache-problem

Deshalb den Pfad in der httpd-ssl.conf mit dem Short-Name anpassen:
SSLSessionCache        „shmcb:C:\PROGRA\~2/Zend/Apache2/logs/ssl_scache(512000)“

Das war’s! 🙂

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

Magento: Change Attribute Type – Select to Multiselect

13. September 2013 at 17:51

Ihr möchtet den Attribute Type von Select auf Multiselect ändern?

so geht’s

$installer = $this;
$this->startSetup();
//$installer->updateAttribute('catalog_product', 'attributename', array('type' => 'varchar', 'input' => 'multiselect'));
$entityTypeId = $installer->getEntityTypeId('catalog_product', 'attributename');
$idAttributeOldSelect = $this->getAttribute($entityTypeId, 'attributename', 'attribute_id');
$installer->updateAttribute($entityTypeId, $idAttributeOldSelect, array(
    'frontend_input' => 'multiselect',
    'backend_type' => 'varchar'
));
$this->endSetup();

Magento: Session Success or Failure Message after redirect – Magento HowTo

27. April 2011 at 10:14

Add a Success, Info or Error Message to the session and save this for re-direction in Magento

//A Success Message
 Mage::getSingleton('checkout/session')->addSuccess("Your cart has been updated successfully!");
 //A Error Message
 Mage::getSingleton('checkout/session')->addError("Your cart has been updated successfully!");
 //A Info Message (See link below)
 Mage::getSingleton('checkout/session')->addNotice("This is just a FYI message...");
 //These two lines are required to get it to work
 session_write_close(); //THIS LINE IS VERY IMPORTANT!
 $this->_redirect('checkout/cart');

Magento: PHP-Code in Content-Seiten (CMS) einbinden – HowTo

26. April 2011 at 18:00

Aus Sicherheitsgründen ist es nicht gestattet in Magento-CMS-Pages direkt PHP-Code einzubinden.

Über dem folgenden Weg ist dies möglich:

Im Template Ordner muss dazu eine Datei zum einbinden vorhanden oder angelegt werden. Z.B. die test.phtml welche im Ordner  /app/design/frontend/default/default/test/test.phtml abgelegt wird.

In dieser Datei kann, wie in den phtml-template-files üblich, php-code aufgerufen werden, z.b.:

<strong><?php echo "Hello World"; ?></strong>

In der CMS-Page ruft ihr diese Template-Datei wie folgt auf:

{{block type="core/template" template="test/test.phtml"}}

Windows 7: zeitgesteuert herunterfahren/neustart (CMD-Befehle)

20. April 2011 at 09:27

auto-shutdown-windows-7-info-fenster

Zeit gesteuertes herunter fahren oder neustart des Systems ist unter Windows wie folgt möglich:

  1. Kommandozeile öffnen ([Windows-Taste]+[R] drücken und CMD eingeben)
  2. Folgende Befehle / Parameter sind möglich (Eingeben und mit [Enter] bestätigen):

shutdown /s (Fährt den Rechner sofort herunter)
shutdown /s /t 600 (Rechner wird in 10 Minuten runtergefahren)
shutdown /r (Neustart des Rechners)
shutdown /f (Erzwingt das Schließen ausgeführter Anwendungen)
shutdown /a
(Bricht das Herunterfahren des Systems ab)