PDA

Bekijk Volledige Versie : probleem met api



fluxmedia
31/10/07, 13:43
ik ben een beginnende php scripter maar ik krijg geen weergaven van een da api voor de usage die een gebruiker verbruikt. dit is het script

<?
//als eerst includen wij de socket zodat we die kunnen gebruiken
include("httpsocket.php");

//nou de socket is geinclude kunnen we hem starten
$sock = new HTTPSocket;

//nu gaan we inloggen in Direct Admin (verander wel de gegevens)
$sock->connect('weesenbeek.nl',2222);
$sock->set_login('xxx','xxx');

$sock->set_method('GET');

$sock->query('/CMD_API_SHOW_USER_USAGE',
array(
'bandwidth' => 'bandwidth',
'quota' => 'quota',
'mysql' => 'mysql',
));

$result = $sock->fetch_body();
echo $result;
if(empty($row['list'])){
echo 'Er zijn geen gegevens bekent';
}else{
echo '<table><tr><th>Alle emailadressen voor congresboomingbrabant.nl</th></tr>';
for($i = 0;!empty($row['list'][$i]);$i++){
echo '<tr><td>'.$row['list'][$i].'</td></tr>';
}
echo '</table>';
}

?>

maar dan geeft hij de waarde weer echo 'Er zijn geen gegevens bekent'; wat doe ik fout?
of hij geeft dit weer:

bandwidth=%35%36%39%2E%39&db%5Fquota=%37%33%31%31%36&domainptr=%30&email%5Fquota=%34%31%39%39%39&ftp=%32&mysql=%33&nemailf=%30&nemailml=%30&nemailr=%30&nemails=%39&nsubdomains=%32"a=%33%34%2E%31&vdomains=%31Er zijn geen gegevens bekent

kan iemand mij helpen?

Ramon Fincken
31/10/07, 13:48
laat je altijd usernames en passwords op forums staan?
$sock->set_login

ttbviper
31/10/07, 13:50
kan een moderator ff de set_login knippen.
Dit is niet handig voor de ts om zo zijn gegevens dus bloot te stellen :)

Ber|Art
31/10/07, 14:30
Done.

Nielsvk
31/10/07, 16:44
Waar haal je $row['list'] vandaan? :O

fluxmedia
01/11/07, 00:06
kijk dat weet ik nou niet een vriend heeft dit script gemaakd om als voorbeeld te dienen maar hij kan er ook geen wij uit

Ramon Fincken
01/11/07, 00:52
righty, ik zou dan eens kijken op:
http://www.directadmin.com/api.html

en dan scrollen naar:

Get User Usage
Function Retrieve the user's usages
Command CMD_API_SHOW_USER_USAGE
Method GET
Success Returns url encoded array
Failure Returns error=1

en


Get User Limits and Configurations
Function Retrieve the user's upper limits and settings that defines their account
Command CMD_API_SHOW_USER_CONFIG
Method GET
Success Returns url encoded array
Failure Returns error=1

ik denk dat je met die 1e aardig op weg komt.

tip, als je connectie lukt doe dan eens voor de grap met de resultset/array die je terugkrijgt:

print_r($arraynaam);

fluxmedia
01/11/07, 00:54
<?php

include 'httpsocket.php';

$sock = new HTTPSocket;
$sock->connect('congresboomingbrabant.nl',2222);

$sock->set_login("bart","XXXXX");

$sock->set_method('GET');

$sock->query('/CMD_API_SHOW_USER_USAGE',
array(
'action' => 'GET',
'bandwidth' => 'bandwidth',
'quota' => 'quota',
));
$result = $sock->fetch_parsed_body();

print_r($result);

?>

dat heb ik nu gedaan maar die print_r.... moet netjes in een tabel komen en hoe ga ik dat fixen.

Ramon Fincken
01/11/07, 00:57
als je ziet dat je result array dan "kloppend" is zou ik in jou geval even op php.net kijken naar:
foreach en while loopjes

de rest is dan met HTML tabelletjes kinderspel

fluxmedia
01/11/07, 01:13
als je ziet dat je result array dan "kloppend" is zou ik in jou geval even op php.net kijken naar:
foreach en while loopjes

de rest is dan met HTML tabelletjes kinderspel

hoe moet dit dan ingebouwd worden een tabel kan ik wel fixen duuhhh

dit is het resultaat van het script

Array ( [bandwidth] => 579.5 [db_quota] => 72004 [domainptr] => 0 [email_quota] => 41999 [ftp] => 2 [mysql] => 3 [nemailf] => 0 [nemailml] => 0 [nemailr] => 0 [nemails] => 9 [nsubdomains] => 2 [quota] => 34.2 [vdomains] => 1 )

Kenneth
01/11/07, 08:37
zoals hij al zei.. sloop de print_r er weer uit (is alleen nuttig voor debugging..) en kijk naar while en foreach loops...

EDIT: Tevens je probleem was dat $row niet gedefineerd was.. zoals Nivko al aangaf