2016-05-18 13 views
0

ich codeiginiter verwende gefunden, wo ich eine Form wie so haben:Codeigniter Seite nicht mit Schrägstrich in url

<form action="announcements/submit_announcement" method="post" id="announcement_form"> 

Wo announcements mein Controller ist.

Wenn ich auf www.mysite.com/home bin und ich das Formular absende, funktioniert es richtig. Wenn ich mich jedoch auf www.mysite.com/home/ befinde, wird der Text über dem Ende angehängt, was zu www.mysite.com/home/announcements/submit_announcement führt.

Es wird dann eine Seite nicht gefunden werden.

Was geht hier vor? Sollte dies nicht im Codeiginiter sein und nicht geschehen? Enttäuscht davon ..

Hat jemand eine Lösung dafür?

+0

Das hat absolut nichts mit CodeIgniter, PHP zu tun, oder sogar die '' form' action' . Dies ist das normale Verhalten einer relativen URL. Probieren Sie stattdessen die absolute URL aus: 'action ="/announcements/submit_announcement "' – Sparky

Antwort

0

Benutze stattdessen nach dem, was Sie jetzt mit

<form action="<?php echo site_url('announcements/submit_announcement');?>" method="post" id="announcement_form"> 

und jetzt Test

+0

Was haben Sie in 'config.php' '' config ['base_url'] 'gesetzt? –

1

Gerade codeigniter Form_Open() verwenden, es macht die Dinge so viel einfacher. In Anwendung/Autoload in Helfer gehören Formular automatisch laden oder laden Sie in Ihrem Controller

$ this-> laden-> Helfer ('Form');

dann Ihrer Ansicht nach

echo form_open('announcements/submit_announcement','id="announcement_form"'); 

Bitte beachte, dass ich Ihre ID als String in dort übergeben, aber Sie können auch eine Variable für ein Array, wie wenn Sie Bootstrap verwenden und wollen eine Klasse hinzuzufügen.

mehr im Handbuch: https://codeigniter.com/user_guide/helpers/form_helper.html#form_open beachten Sie, dass das Handbuch zu lesen könnten Sie mehr „Enttäuschung“ sparen :-)

+0

_ "beachte, dass das Lesen des Handbuchs dir möglicherweise mehr 'Enttäuschung' ersparen könnte" _ ~ Ich werde das wiederholen. Gemäß dem Handbuch wird die Basis-URL an die angegebene Aktion angehängt, wodurch ein absoluter Pfad sichergestellt wird. – Sparky

Verwandte Themen