tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
695
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    'GreenDragon' 'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    127
    Hallo,

    kann mir jemand verraten wann ein submit nicht funktioniert?
    Ich habe ein PHP Skript erweitert welches irgendwo includet wird. (ja hoert sich schwammig an aber passt schon)
    Nun steht da sowas drin:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    <?php
    $url = 'http://127.0.0.1' . $_SERVER['REQUEST_URI'] . '?module=Accounts&return_module=Accounts&action=EditView&record=';
    $idCustomer = get_object_vars($this);
    $url .= $idCustomer["focus"]->id;
     
    <form action="'.$url.'" method="POST">
      <input type="submit" class="button" name="create" value="Update" />
    </form>'

    Doch beim drücken des Buttons wechselt er auf http://127.0.0.1/sugarcrm/index.php statt auf meine URL wie kann sowas sein?

    Gruss
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    eigentlich schwer von aussen zu sagen, erst recht, wenn man nicht weiss, was "deine URL" ist.

    Ein paar Möglichkeiten:
    • Es erfolgt eine serverseitige Umleitung
    • Die Zieldatei existiert nicht und die index.php wurde als ErrorDocument festgelegt
    • "Deine URL" ist /sugarcrm/index.php
     

  3. #3
    'GreenDragon' 'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    127
    Hi,

    Also zu Punkt zwei und drei:
    Die Zieldatei sollte vorhanden sein, schließlich werde ich auf die korrekte Seite weitergeleitet wenn ich die von mir zusammengebastelte URL in die Adresszeile meines Browser kopiere. Sie sieht so aus
    Code :
    1
    
    http://127.0.0.1/sugarcrm/index.php?module=Accounts&return_module=Accounts&action=DetailView&record=82522d8b-4368-5552-221f-4a45cf47fb3a

    Zu Punkt eins kann ich nichts sagen, wenn es aber das sein sollte habe ich wohl Pech gehabt.
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Wenn ich deinen Code nochmal betrachte, wundert mich, dass du da überhaupt etwas anderes zu sehen bekommst als eine PHP-Fehlermeldung, da fehlt irgendwie ein echo.
     

  5. #5
    {Eve} {Eve} ist offline Mitglied Silber
    Registriert seit
    Jul 2009
    Beiträge
    54
    Hehe,
    das dachte ich auch schon, aber ich denke das sind zwei Code- Schnipsel
     
    {Eve}

  6. #6
    'GreenDragon' 'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    127
    Wie {Eve} schon sagt sind das nur Codeschnipsel aber in einer größeren PHP Datei, diese wird dann von einer anderen wieder rum includet. Das echo hatte ich nur mal kurz drin um euch die zusammengestellte URL zu zeigen die aufgerufen werden sollte... naja aber wird wohl an einer Serverumleitung liegen, wenn nichts weiteres in Frage kommt.
     

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Also wenn du dir den Quelltext der Seite im Browser ausgeben lässt, dann steht da:
    Code :
    1
    2
    3
    
    <form action="[B]http://127.0.0.1/sugarcrm/index.php?module=Accounts&return_module=Accounts&action=DetailView&record=82522d8b-4368-5552-221f-4a45cf47fb3a[/B]" method="POST">
      <input type="submit" class="button" name="create" value="Update" />
    </form>
    ?
     

  8. #8
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Nur so als Idee: Du mischst GET und POST mit einander. Ich bin mir nicht 100%ig sicher, aber es könnte sein, das ein Browser, der Forms mit POST übertragen soll, keine GET-Parameter an die URL anhängen kann. Probier doch mal, deine GET-Variablen als Hidden Form-Elemente einzubauen:

    PHP-Code:
    <form action="index.php" method="POST">
      <
    input type="hidden" name="module" value="Accounts"/>
      ... 
    hier weitere Get-Parameter als hidden Felder ...
      <
    input type="submit" class="button" name="create" value="Update" />
    </
    form
    Dann greifst du im Folge-Script (index.php) mittels $_POST auf die Hidden-Fields zu.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  9. #9
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Auf die GET übertragenen Variablen kann man mit $_GET zugreifen. In $_REQUEST sind sogar beide drin.
    Das Mischen von GET und POST sollte kein Problem sein.
    Ich kann mich nur Svens Frage anschliessen was genau im Quelltext steht.
    Und ansonsten müsste man vermutlich den ganzen Source sehen um bessere Hilfestellung zu geben.
    Auch schon mit debuggen versucht?
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  10. #10
    'GreenDragon' 'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    127
    Hi,

    also ganzen Code posten wird denk ich nicht viel bringen, da dieses Skript nur ein Array ist, welches das sugar-System irgendwo includet. Wann und wo genau weiß ich auch nicht, den Dugger hab ich noch nicht laufen lassen, weil ich keine Ahnung hab wie das unter PHP funktioniert schließlich läuft der Server nicht unter eclipse sondern dezentral also müsste ich im Browser ein Debugger zu Verfügung haben, was doch aber auch wieder unsinnig wäre weil ja PHP Serverseitig interpretiert wird...

    Nun aber zurück zum Code. Es hat mich ganz verwundert das selbst das hier nicht funktionierte und ich dennoch auf die index.php zurück kam.
    Code :
    1
    2
    
    <form action="http://127.0.0.1/sugarcrm/index.php?module=Accounts&return_module=Accounts&action=DetailView&record=82522d8b-4368-5552-221f-4a45cf47fb3a" method="POST">
    <input type="submit" class="button" name="create" value="Update" />                         </form>
    Aber wie schon gesagt wenn man die URL einfach so im neuen Browserfenster öffnet kommt man da hin wo man hin kommen sollte.

    Hab nun auch diese index.php gefunden und habe mir gedacht dort eine Überprüfung alla
    Code :
    1
    2
    3
    4
    
    if( isset( $_POST['create'] ) ) {
    $url = $_POST['editViewURL'];
    echo $url;
    }
    zu machen und tatsächlich das echo wird ausgeben mit meiner url.
    In der anderen php Datei, also nicht die index.php sondern meine editView.defs Datei steht nun nämlich sowas.
    Code :
    1
    2
    3
    4
    
    <form action="'.$url.'" method="POST">
    <input type="submit" class="button" name="create" value="Update" />
    <input type="text" name="editViewURL" value='.$url.' />
    </form>

    Jetzt bräuchte ich nur noch ein PHP Befehl mit dem ich die Variable $url, die nun im index.php steht und mit echo ausgegeben wurde auf diese Seite leitet. Jemand ne Idee?
    Geändert von 'GreenDragon' (19.07.09 um 14:06 Uhr)
     

  11. #11
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Zitat Zitat von 'GreenDragon' Beitrag anzeigen
    Jetzt bräuchte ich nur noch ein PHP Befehl mit dem ich die Variable $url, die nun im index.php steht und mit echo ausgegeben wurde auf diese Seite leitet. Jemand ne Idee?
    Öhm
    PHP-Code:
    header("Location: ".$url); 
    Aber ganz ehrlich ich blick nicht ganz was wo hin gehört wenn du wirklich Hilfe bei dem Problem haben willst dann musst du das auch verständlich präsentieren.
    Und: Beim debuggen reicht es manchmal nicht $url nur nachdem es festgelegt wurde auszugeben sondern auch mal zwischendrin ob sich $url vielleicht in dem Verlauf ändert den du hier nicht posten möchtest.
    Kleine Tips am Rande
    Geändert von Da_Chris (19.07.09 um 14:28 Uhr)
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  12. #12
    'GreenDragon' 'GreenDragon' ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    127
    Aber ganz ehrlich ich blick nicht ganz was wo hin gehört wenn du wirklich Hilfe bei dem Problem haben willst dann musst du das auch verständlich präsentieren.
    Cool da sind wir ja schon zwei
    Die Sache ist ja die, dass ich ein bestehendes System versuche zu erweitern bzw. zu modifizieren. Wenn ich wüsste wo das definiert ist mit der Umleitung zu index.php dann würd ich das sagen Nun denn wie immer super Hilfe, denn ich denke das mit
    Code :
    1
    
    header("Location: ".$url);
    hat funktioniert Also besten Dank euch allen!
     

  13. #13
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Zitat Zitat von 'GreenDragon' Beitrag anzeigen
    Cool da sind wir ja schon zwei
    Die Sache ist ja die, dass ich ein bestehendes System versuche zu erweitern bzw. zu modifizieren. Wenn ich wüsste wo das definiert ist mit der Umleitung zu index.php dann würd ich das sagen Nun denn wie immer super Hilfe, denn ich denke das mit
    ja ein bestehendes system zu erweitern ist nicht einfach aber wenn man richtig debuggst findet man sich leichter zurecht
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

Ähnliche Themen

  1. Form submit über JS funktioniert nicht
    Von Phinix im Forum Javascript & Ajax
    Antworten: 18
    Letzter Beitrag: 20.08.10, 13:53
  2. submit funktioniert nicht
    Von tombo82 im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 25.11.09, 12:53
  3. Form submit funktioniert nicht
    Von HuRaHoRRe im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 07.03.08, 11:24
  4. Antworten: 7
    Letzter Beitrag: 13.10.07, 20:44
  5. form.submit(); funktioniert nicht...
    Von pxlArtizzt im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 14.09.03, 18:48