Übergabe-Parameter Controller - yii2-app-basic Yii2
Bin ich manuell übergeben 39 in der oberen URL, um zu wissen, wie die Arbeit mit Parametern.
Möchte ich Anzeige 39 in confirm.php
aber es funktioniert nicht. So schnell bin ich vorbei $id
im actionConfirm($id)
von SiteController
Controller.
Seite Nicht Gefunden " - Fehler Kommen. Was kann das problem sein.
Ich fragte nur eine Frage URL-Routing, wo ich meine Antwort. Aber, nun, hier kam ich nicht weiter.
confirm.php
<?php
/* @var $this yii\web\View */
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\captcha\Captcha;
use yii\bootstrap\Modal;
use yii\helpers\Url;
$this->title = 'Contact';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-about">
<?echo $id;?>
</div>
SiteController.php
<?php
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\swiftmailer\Mailer;
use app\models\LoginForm;
use app\models\ContactForm;
use app\models\EntryForm;
use app\models\RegisterForm;
use app\models\LoginExecForm;
use app\models\ForgotPasswordForm;
class SiteController extends Controller
{
.
.
.
public function actionConfirm($id)
{
$id = Yii::$app->request->get('id');
return $this->render("confirm",array("id"=>$id));
}
}
Kommen Die Fehler
Wie 39 aus-URL zu confirm.php
Seite. Bitte helfen Sie mir. Verzeihen Sie mir, Wenn dies eine dumme Frage stellen.
- Mögliche Duplikate von URL-Routing - yii-basic-app - Yii2
- ersetzen
<?echo $id;?>
zu ` <?php echo $id;?>`. - Nein Herr @gamitg. Ich Habe. Aber noch nicht gearbeitet. Sie wissen. Sie zuvor gelöst meine Frage. Das ist die andere Frage. Ich bin nicht in der Lage, 39 in meine confirm.php Seite.
- Wenn Sie entfernen die
$id
von deractionConfirm($id)
ist, ist die Website funktioniert dann? Wenn nicht, dein problem ist nicht die übergabe des param, aber etwas anders. - nicht funktioniert nach dem entfernen $id aus actionConfirm, wenn ich mich nicht übergeben, Sache und nicht 39 in der URL. confirm.php funktioniert gut, Herr @Asped
Du musst angemeldet sein, um einen Kommentar abzugeben.
sind Sie sicher, dass Sie aktiviert haben
in deiner php.ini?
auch die richtige kurze code ist
Können Sie auch sehen, diese Diskussion:
PHP echo vs PHP short tags
btw brauchen Sie nicht beide, wenn Sie sind, indem Sie einen parameter in den Namen der Funktion, hier actionConfirm($id), müssen Sie einen erforderlichen parameter gefüllt wird, die durch die parameter festgelegt, die von den GET-Parametern von Ihrer Wunsch-URL.
Das ist in deinem Fall /site/bestätigen/39/
Also entweder legen Sie Sie in den Namen der Funktion
oder Holen Sie Sie manuell
Brauchen Sie nicht beide.
Aber das ist nicht Ihr problem. Sie noch rufen Sie nicht die richtige Aktion in der richtigen controller.
Verwenden Sie diese urlManager Regeln
Diejenigen, die 3, die Sie Hinzugefügt haben, werden falsch Sie zu entfernen.
vergessen zu erwähnen, dass, wenn Sie don ' T haben Ihre eigenen Regeln, nur nicht setzen Sie alle Regeln in den Einstellungen dann die default-Regeln verwendet werden, die sich mit den meisten Abfragen in der Regel.
/site/about
?$id
von den Funktionen als Parameter die Aussicht ist correclty gerendert? also nurpublic function actionConfirm()