Curl Login und Post



  • Ich teste das ganze auf einem lokalen Server und nicht auf dem tatsächlich im Einsatz befindlichen, von daher habe ich dort Rootzugang. Die PHP.ini wurde geändert. Aber das Formular wird nicht abgesendet... und das verstehe ich einfach nicht.



  • nach dem ändern der php.ini den server neu gestartet? (sonst liest er sie nicht ein...)

    ansonsten: bringe den php code aufs minimalste runter und poste ihn.



  • Ja den neustart habe ich gemacht.
    Das Formular kann ich ja auch im Browser abschicken, das funktioniert bereits alles seit Jahren, deshalb bin ich so verwundert.
    Den vollständingen PHP Code zu posten ist schwierig, aufgrund des Copyrights etc. Reicht dir der <form> Abschnitt?



  • nein..., keinen vollständigen php code, ich habe gesagt, dass DU mal testen sollst, in dem du den code auf eine minimale form bringst. diese wäre dann ev. postbar, da vollständig abgespeckt. aber es ist eher eine hilfe für dich, die relevanten dinge zu sehen.

    erstmal fällt mir nichts mehr ein, da mein beispiel funktioniert.
    du sagst ja, der code arbeitet auch ohne cookies (das hast du ja hoffentlich getestet ;), ansonsten immernoch der hinweis, die cookies mit zu senden). und vermutlich sendest du auch alle relevanten variablen mit.



  • Das habe ich gemacht 😉 Läuft aber irgendwie nicht. Ich denke nicht dass es ein Problem mit den Cookies sein wird, denn die Session kann ich am PC erstellen und mit der ID am Laptop ohne einloggen reinkommen. Ist heutzutage nicht mehr sicher, aber in mittelfristiger Zukunft kommt da etwas neues, soweit ich weiß.
    Außerdem kommt nach dem Absenden des Formulars selbiges als Ausgabe in Curl zurück, was mich eigentlich verwundert. Das Formular funktioniert wunderbar im Webbrowser.

    Das Formular selektiert bereits einige Daten vor. Kann ich mit curl also nur diejenigen übermitteln, die noch nicht aus vorselektiert sind? Denn dann sind es eigentlich nur 2 Felder die ich ausfüllen muss.
    Dass es ein paar mal eine "select"-Auswahl ist sollte ja nichts ausmachen, nehme ich an.

    EDIT:
    Selbst wenn ich nur die Variablen übermittel die ausgefüllt werden müssen und diese ungültig sind, sodass der Server normal eine Fehlermeldung ausgibt, passiert nichts. Da muss doch irgendwo der Wurm drinnen liegen.



  • Ich habe eine Idee.
    Kann es daran liegen, dass das Formular so beginnt:

    <form action="<?echo $PHP_SELF;?>?sid=<?echo $sid;?>&cmd=<?echo $cmd;?>&lang=<?echo $lang;?>" name="reporten" method="post">
    						<input type="hidden" name="action" value="1">
    						<input type="hidden" name="buchid" value="<?echo $buch_vars['BUCH_ID'];?>">
    [...]
    //PHP aus Datenbank
    FNR.: <?echo $buch_arr['FP_NR'];?>
    [...]
    
    //Eigentliches Formular
    <textarea name="notes"><?if(!isset($notes)){echo $buch_arr['FP_DESCR'];}else{echo $notes;}?></textarea>
    [...]
    


  • was als post, get (und cookie) mitgesendet werden muss, damit das ganze klappt, musst du selber herausfinden.



  • Okay, ich habe aber noch eine Frage:
    ich muss die hidden Felder aber explizit mitsenden, oder? Will heißen, die wern wenn ich die nicht im Programm definiere einfach nicht gesendet. Weil im Browser werden die im Hintergrund ausgefüllt und gesendet. Diese sind ziemlich sicher für das Formular, wie mir jetzt auffällt. Vielen Dank schonmal hierfür 🙂

    Die Frage ist jetzt allerdings, wie komme ich an die Daten dran? Die werden von dem PHP Skript erst aus der Datenbank abgerufen, wenn die Seite aufgerufen wird.
    Kann ich die Daten in dem Moment, in dem die Seite mit dem Formular aufgerufen wird, irgendwie in das C Programm bekommen?



  • du hast dir die seite ja dann runtergeholt, parse sie, ob mit schwerem geschütz (dom/sax/regex) oder per hand, weil du die variablenbezeichner ja kennst, bleibt dir überlassen.



  • Ja so habe ichs auch hinbekommen 😉 jetzt habe ich alle soweit, nur ist das Problem, dass ich Umlaute in der HTML/PHP habe und diese nicht richtig dargestellt werden.
    Hast du da schnell einen Tipp?