2016-04-09 2 views
1

Ich bin dabei, ein Yii-Formular in Yii 1 FrameOwrk mit nur einem regulären PHP-Formular zu ersetzen.Yii 1 - Wo gebe ich die Form Prozessor-Datei, wenn Sie ein PHP-Formular verwenden

Das Problem, das ich habe, ist, dass ich nicht herausfinden kann, wo Yii nach der Form-Prozessor-Datei sucht, wenn es in die Formularaktion eingefügt wird.

Im Moment habe ich die PHP-Datei, um das Formular in dem gleichen Ordner zu verarbeiten, in dem die Ansicht gespeichert wird. Wo sollte ich die PHP-Datei des Formularprozessors ablegen, damit Yii weiß, wo er danach suchen soll?

<form action="contact.php" method="post"> 
    <p><b>Your Name*</b> <input type="text" name="yourname" /><br /> 
    <b>Subject*</b> <input type="text" name="subject" /><br /> 
    <b>E-mail*</b> <input type="text" name="email" /><br /> 
    <b>Body*</b><textarea id="message" name="message"></textarea></p> 

    <p><input type="submit" value="Submit"></p> 

</form> 

Antwort

0

Sie haben Yü-Routing-System zu verwenden, da standardmäßig nur ein Einstiegspunkt für die yii Anwendung ist - index.php und Sie können Ihre Datei direcly nicht aufrufen.

<form action="some/doSomething" method="post" > 
    <p><b>Your Name*</b> <input type="text" name="yourname" /><br /> 
    <b>Subject*</b> <input type="text" name="subject" /><br /> 
    <b>E-mail*</b> <input type="text" name="email" /><br /> 
    <b>Body*</b><textarea id="message" name="message"></textarea></p> 

    <p><input type="submit" value="Submit"></p> 

</form> 

Und dann in Ihrem Controller:

class SomeController extends CController 
{ 
    public function actionDoSomething() 
    { 
     \Yii::import('path.to.your.contact.php'); 
     $yourname = \Yii::app()->request->getPost('yourname'); 
     $subject = \Yii::app()->request->getPost('subject'); 
     $email = \Yii::app()->request->getPost('email'); 
     $message = \Yii::app()->request->getPost('message'); 
     // run you methods from contact.php 
    } 
} 
Verwandte Themen