Benutzeranlegen

Kent94

Mitglied
Sehr geehrte Damen und Herren,

und zwar möchte ich gerne eine API Schnittstelle programmieren dies habe ich soweit auch schon geschafft allerdings sobald ich die Inputs ausfülle und auf weiter klicke sollte in normalfall den Benutzer anlegen leider klappt dies nicht ganz da er die values nicht übernimmt habe alles bislang probiert leider ohne erfolg... Allerdings legt er den Benutzer an! :) Nur wie schon erwähnt ohne die Input felder zu übernehmen.

Ich wäre euch sehr dankbar wenn ihr mir Helfen könnt den Code hänge ich mal an.

Code:
          <table style="color: #fff;" border="0" width="782" height="794">
    <tr>
        <td>       
                <td valign="top">
<HTML>
<HEAD>
</HEAD><BODY>
<?php
    if ($_GET['add'] == 'see')
    {
$url = 'http://LINK/api.php'; // Bitte hier die Login Domain eintragen
$command['username'] = '814bc317813f4666916baa193e1239cf9e5d3169'; // Ihr API Benutzername
$command['password'] = 'fac80194c4ac838aece62adb73ee30afd12d75e1'; // Ihr API Kennwort
$command['class'] = 'CustomerManagement'; // Der Bereich, zu welchem die Funktion gehört
$command['method'] = 'Add'; // Die Funktion dies Sie aufrufen möchten
$command['firstName'] = '<?php echo ' . $_POST['firstName'] . '; ?>'; // Die Funktion dies Sie aufrufen möchten
$command['lastName'] = '<?php echo ' . $_POST['lastName'] . '; ?>'; // Die Funktion dies Sie aufrufen möchten
$command['email'] = '<?php echo ' . $_POST['email'] . '; ?>'; // Die Funktion dies Sie aufrufen möchten


$test       = http_build_query($command);
$ch         = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $test);
$data       = curl_exec($ch);
$data       = json_decode($data2,true);
curl_close($ch);
    }
    else
    {
?>
<FORM METHOD="POST" ACTION="index.php?show=domain_benutzeranlegen&add=see">
<input type="hidden" name="" value="">
<TABLE style="width: 100%; color: #000;" BORDER="0">
<TR>
<TD><b><u>Benutzer anlegen:</u></b></TD>
</TR>
<TR><TD><br><br><i><u>Erforderlich:</u></i></TD></TR>
<TR><TD>
<TABLE style="background-color: #; color: #000; width: 100%;" BORDER="0" align="left" style="text-align:left;">
<TR><TD CLASS="td_label">Vorname<font color="red">*</font>:</TD><TD><INPUT SIZE="48" TYPE="text" NAME="firstName"></TD></TR>
<TR><TD CLASS="td_label">Nachname<font color="red">*</font>:</TD><TD><INPUT SIZE="48" TYPE="text" NAME="lastName"></TD></TR>
<TR><TD CLASS="td_label">eMail<font color="red">*</font>:</TD><TD><INPUT SIZE="48" TYPE="text" NAME="email"></TD></TR>
</TABLE>
<TABLE style="color: #fff;" BORDER="0">
<TR><TD width="80%"></TD><TD ROWSPAN="2"><P ALIGN="right"><INPUT TYPE="submit" VALUE="Weiter"></P></TD></TR>
</TABLE>
</TABLE>
</FORM>
<?php } ?></center>
</BODY></HTML>

                  </td>
        </td>
    </tr>
</table>
 
Hi,

das sieht auf alle Fälle falsch aus: (Zeile 16ff)
PHP:
$command['firstName'] = '<?php echo ' . $_POST['firstName'] . '; ?>'; // Die Funktion dies Sie aufrufen möchten

Da du in der Zeile eh schon im PHP-Kontext bist ist das "echo" hier vollkommen falsch. Richtig müsste es so ausehen:
PHP:
$command['firstName'] = $_POST['firstName']; // Die Funktion dies Sie aufrufen möchten

Grüsse,
BK
 
Das gleiche wollte ich auch grade schreiben da war Bratkartoffel schneller :D

jedoch frage ich mich warum Öffnest du eine Tabelle vor dem <body> tag bzws. noch vor dem <html> dies ist eine Falsche HTML Syntax.

Gruß
 
Hallo,

Danke für die schnelle antwort leider aber ohne Erfolg klicke ich nun auf absenden erstellt er keinen Benutzer mehr.
 
Hi,

was steht denn in $data nach der Anfrage drin? Hast du die Zeilen 17 und 18 auch angepasst?
Bau am Besten mal ein paar Ausgaben mit rein an Hand derer du den Vorgang Schritt für Schritt nachvollziehen kannst.

Grüsse,
BK
 
Hallo,

also die zeilen wurden habe ich angepasst.. Problem ist das ich hier kein Zugriff auf die API direkt habe. FirstName, Lastname, Email sind nur die 3 Schritte die benötigt werden danach gibts leider keine Schritte mehr die ich noch dazu machen könnte.

Kurze frage kann es evtl daran liegen das der Code den Sie geschrieben haben kein 'PHPCODE'; enthält ??? Gerne kann ich Ihnen per PN mal den Zugang schicken.
 
Viel mehr mache mal ein
PHP:
var_dump($command);
um zu schauen ob auch alles gefüllt wird wenn ja so poste bitte die besagte stelle von der api.php

Gruß
 
Hi,

meinst du mit "PHPCODE" die farbliche Gestaltung der Box hier im Forum? Das kannst du mit [ code=php ] erreichen, ist aber nur rein für die Darstellung verantworlich.
Den Link hättest du mir nicht schicken müssen, habe zwar mal kurz reingeschaut aber ich sehe da ja kein Ergebnis. Nur eine weisse Seite, da du ja keinerlei Ausgaben hast wenn man das Formular abschickt.

Hast du Zugriff auf den Quelltext der API? Kannst du dort mal ein paar Logausgaben machen warum er nichts erstellt?
Stimmen die Parameter auch mit den von der API erwarteten Werten überein? Was bekommst du von dem curl_exec() zurück?

Mir ist gerade noch was aufgefallen, Zeile 26f. Du speicherst dir das Ergebnis vom curl_exec() in $data, in der nächsten Zeile machst du aber ein json_decode() auf $data2. Denke dass dies nicht beabsichtigt ist.

Übrigens: Wir sind hier im Forum alle per Du, ist etwas ungewohnt hier gesiezt zu werden :)

Grüsse,
BK
 
Hallo,

also auf der API habe ich leider keinen Zugriff habe lediglich ein Dokument der Firma erhalten. Was ich mit ''; meinte war der Code z.B wird ja hier vorgegeben

%command['firstName'] = 'firstName';

dein Code war wie folgt ohne '';

$command['firstName'] = $_POST['firstName'];

ich meine wie ich es ja gemacht habe ging es ja bzw. er Hat den Befehl ja ausgeführt und somit einen User mit einer ID erstellt allerdings hat er die ausgefüllten Inputs nicht übernommen...
 
Hi,

welche Daten sind denn angekommen?
Bei meinem obigen Vorschlag werden keine ' verwendet, da du hier auf den Wert einer Variable zugreifst und nicht einen String an sich speichern willst.

Hast du das var_dump() von lockcat schon versucht? Was ist die Ausgabe?

Grüsse,
BK
 
Zurück