2015-09-03 12 views
5

Ich möchte auf OpenCart CMS mit Curl automatisch anmelden und fügen Sie die Dinge zu ihm automatisch zu
, aber ich kann nicht einloggen. Ich suchte und fand einige Ergebnisse, konnte mir aber nicht helfen und ich bekomme kein Ergebnis. Dies ist mein Code:Login zu Opencart Admin mit Curl von PHP

<?php 
include_once "simple_html_dom.php"; 
$username = 'active'; 
$password = '123active'; 
$loginUrl = 'http://localhost:100/mywebsite/admin/'; 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $loginUrl); 

curl_setopt($ch, CURLOPT_POST, 1); 

curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password); 

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$store = curl_exec($ch); 
$html=new simple_html_dom(); 
$html->load($store); 
foreach($html->find("li#dashboard") as $dash){ 
    echo $dash->innertext; 
} 
?> 

In diesem Code zuerst initialisieren ich username und password und meine URL zu
den Server-Betreibern meiner Website zu verknüpfen, dann verwende ich CURLOPT_POST Anfrage und CURLOPT_POSTFIELDS
und dann die $ch ausführen, aber jetzt habe ich don habe kein Ergebnis auf cookie.txt und nicht
Login auf Website-Administrator.

+0

Ist es Problem mit '& Autologin = 1 & userlogi = login' ? .Ich teste, aber bekomme kein Ergebnis – MEAM

Antwort

1

Ich sah http://demo.opencart.com/admin/ und sah, dass die Aktion URL im Formular nicht nur/Admin ist. Versuchen Sie dieses:

<?php 
include_once "simple_html_dom.php"; 
$username = 'active'; 

$password = '123active'; 
//$loginUrl = 'http://localhost:100/mywebsite/admin/'; 
//new url 
$loginUrl = 'http://localhost:100/mywebsite/admin/index.php?route=common/login'; 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $loginUrl); 

curl_setopt($ch, CURLOPT_POST, true); 

// follows a location header redirect 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password); 

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$store = curl_exec($ch); 
$html=new simple_html_dom(); 
$html->load($store); 
foreach($html->find("li#dashboard") as $dash){ 
    echo $dash->innertext; 
} 
?> 

I didnt't Test, wenn die Aktion URL auf einer bestimmten Version abhängig ist, so überprüfen Sie einfach das Formular mit Ihrem Browser-Entwickler-Tools

+0

Ich möchte automatisch ein Produkt aus dem Text zu OpenCart hinzufügen. – MEAM

+1

Mein Vorschlag ist, nach einer OpenCart-API zu suchen, ich bin nicht wirklich in OpenCart, aber ich denke, dass es einige API-Erweiterung gibt, vielleicht gibt es eine eingebaute API. Vielleicht hilft das: (http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15445&filter_search=rest%20api&filter_license=0) – swidmann

+0

Ich möchte ein Problem mit 'cookie.txt' und ich kann nicht füllen es! Ich suche, aber bekomme kein Ergebnis.Ich möchte wissen, warum ich kein Ergebnis in dieser Datei bekomme? Kann ich Probleme mit Cookies haben? Bitte lesen Sie den Code in Cookie-Abschnitt – MEAM