You are not logged in.

wcf.regNote.message

k1x

Beginner

  • "k1x" started this thread

Posts: 4

  • Send private message

1

Thursday, July 21st 2005, 2:18pm

Formular: Variablenuebergabe scheitert

ich sitze seit "einiger" zeit an einem Problem mit einem Formular / weitere kommen vllt. Normalerweise bisher nie Probleme dementsprechend gehabt, aber da war es meine "Umgebung". Hoffe das jemand helfen oder Tipps geben kann, war auch schwierig es genau einzuordnen.....

Folgende Situation: Ich muss urspruenglichen Perl-Code (CGI) in PHP umschreiben...soweit so gut.... es gibt ein HTML-Formular, bei dem per JavaScript die eingegebenen Daten ueberprueft werden, und bei Erfolg an eine zweite Datei dann weitergeleitet wird die dann mit den Variablen/Eingaben umgeht........ Formular und so sollte kein Problem sein in PHP etc.......
Problem besteht aber darin, dass er einfach nicht auf das $_POST - Array reagiert, also nichts uebergibt.......

Weitere Infos: register_globals sind off - hab nicht wirklich Zugriff bzw. Einfluss sie auf on zu stellen, dennoch sollte das $_POST klappen, Server ist der WN-Server (k.A. wieso sie nicht Apache nutzen) - was mich auch dazu "zwingt" PHP als CGI zu nutzen, wenn auch vllt. unwichtig...... PHP-VERSION 4.3.3

Das nette an Perl/CGI ist das es eine Bibliothek gibt die einfach ueberprueft ob Daten an die Seite uebergeben wurden, und man dann einfach diese Abfragen kann.....mir kam die Idee dies vllt auszunutzen, aber ich bin mir unsicher ob man diese ueberhaupt in PHP einbinden kann oder ob es vllt in PHP so eine aehnliche Bibliothek gibt.......

Bin schon echt genervt, dass es nicht klappt...da bisher nie Probleme mit Formularen.....

Hoffe es kann mir jemand Tips geben...vllt wie man es noch loesen koennte......

Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Thursday, July 21st 2005, 2:27pm

schau mal folgendes posting an
Php4 / Php5

der beitrag von ephraim da hat er eine funktion gepostet um variablen zu holen. versuch mal ob das geht.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

k1x

Beginner

  • "k1x" started this thread

Posts: 4

  • Send private message

3

Thursday, July 21st 2005, 3:24pm

hat leider keine wirkung erzielt immernoch nichts ausgegeben, oder dergleichen........
dummerweise scheint es echt irgendwie mit dem server/PHP zu tun zu haben, denn mit Perl/CGI ging es ja vorher, es wurden die daten uebermittelt....per POST/Methode :/

Prometheus

Administrator

Posts: 3,278

  • Send private message

4

Thursday, July 21st 2005, 3:27pm

wie übergibt dein formular die daten denn? hat dein js vielleicht nen hänger wo die variablen gelöscht werden oder werden sie vielleicht garnicht richtig übermittelt oder so? ich wüsste nicht was am server sein könnte wodurch das nicht geht.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

k1x

Beginner

  • "k1x" started this thread

Posts: 4

  • Send private message

5

Thursday, July 21st 2005, 4:02pm

..also ich uebergebe die daten mit POST-Methode und mittlerweile schon ohne JS, aber mit JS habich sie mir vor dem entgueltigen uebermitteln noch in der AlertBox ausgeben lassen und da stimmte alles....... und es hatte ja geklappt bis dahin...also die daten konnten im anderen Formular mit Hilfe der CGI-Library ausgelesen werden.....alles recht simpel und gut....

Nur meine Abteilung hat mir zur Aufgabe gemacht das gesamte ein wenig schneller zu machen und da PHP schneller in solchen Dingen ist als Perl/CGI (so meine Erfahrungen) wollte ich es in PHP umbauen......

Momentan ist der Stand so, dass ich das eigentliche Script so umgeschrieben habe das es nur Daten an sich sendet und ich vorab ne ausgabe der $_POST Variable mache, hab es auch schon mit HTTP_POST_VARS und REQUEST probiert immer das gleiche nichts :/

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<FORM action="projectCreateNewcgi.cgi\" method=\"POST\">
<INPUT type=\"hidden\" name=\"usergroup\" value = \"\">
<INPUT type=\"hidden\" name=\"show\" value=\"ok\">
<TABLE width=100% summary=\"\">
<TR><TD align=right><B>Create new Project</B></TD></TR></TABLE>
<TABLE summary=\"\">
<TR>
    <TD>Project Name</TD><TD><INPUT type=\"text\" size=\"30\" name=\"project\"></TD>
</TR>
<TR>
    <TD>Description</TD><TD><INPUT type=\"text\" size=\"60\" name=\"description\"></TD>
</TR>
<TR>
    <TD>
        Source-Directory:
        <BR>(on FTP Server)
    </TD>
    <TD><INPUT type=\"text\" name=\"sourcedir\" size=\"60\" value=\"\"></TD>

</TR>
<TR>
    <TD>
        Target-Directory:
        <BR>(on FTP Server)
    </TD>
    <TD><INPUT type=\"text\" name=\"targetdir\" size=\"60\" value=\"\"></TD>
</TR>
</TABLE>

<INPUT type=\"submit\" name=\"submit\" value=\"Create\">
<INPUT type=\"reset\" value=\"Reset\">
</FORM>
....das Formular.....

und ansonsten halt mit den Zeilen

$_POST['project'] usw. die Varibalen eigentlich ausgeben wollen zur ueberpruefung......
auch mit dem Versuch der Function getVar.... $project = getVat("project");

Vermutung liegt noch nahe, dass es vllt am PHP als CGI liegt...irgendwie........

"Hmm schon mal Voraus ein Dank fuer die Unterstuetzung :) "

Werd wahrscheinlich dann erstmal Feierabend machen.........das Problem will es so ?( :(

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

6

Friday, July 22nd 2005, 8:21am

Warum ist das erste " nicht escaped aber die anderen alle?
Wie gibts du $_POST aus? Probier es mal mit var_dump($_POST);
also erste Zeile nach "<?". Welche PHP Version hast du, kannst du en phpinfo(); link geben?
Hast du mal probiert mit GET das Form abzusenden?

Ansonsten wäre dein PHP Code doch auch mal interessant, und das Form was du angehängt hast ruft en CGI auf also is des noch des alte oder wie darf ich das verstehen? Oder nennst du etwa deine PHP Dateien CGI ?


Ciao Ephraim

k1x

Beginner

  • "k1x" started this thread

Posts: 4

  • Send private message

7

Friday, July 22nd 2005, 10:04am

Also:

das erste " hab ich dann nachtraeglich noch escaped.......
hab jetzt mal ein ganz simples script erstellt, nur um die Uebergabe zu ueberpruefen.....

es sieht folgendermassen aus:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/data/ddts/local/bin/php
<?php
echo "Content-Type: text/html\n\r\n";
echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN'>
<HTML><HEAD><TITLE></TITLE></HEAD>
<BODY>
TEST: ".$_POST['test']."
<form method='POST' action='post_test.cgi'>
<input type='text' name='test'>&nbsp;
<input type='submit' value='Send'>
</form>
</BODY>
</HTML>";
?>
PHP_Version ist 4.3.3......
GET hat ich auch schoneinmal probiert, leider ohne Erfolg......
einen Link zur phpinfo() kann ich nicht geben, da der Server betriebsintern ist..........wenn Infos benoetigt werden kann ichsie aber hier rein posten..........

Der Grund fuer die Bennenung CGI kommt daher, dass ich die PHP als CGI ausfuehre, da dieser besagte Server es mir nicht ermoeglichen will PHP normal auszufuehren...... X(

ich habe auch mal ein

PHP Source code

1
2
3
echo "<pre>";
print_r(get_defined_vars());
echo "</pre>"
probiert, und er zeigt mir dabei alle Arrays an nur halt manche nicht mit den Inhalten wenn es welche gibt.......

vermute immer mehr das es an irgendwelchen Servereinstellungen liegt.....

so far k1x

wcf.user.socialbookmarks.titel