1
<form action="<?php if(isset($redirect)&& $redirect == "f"){echo "#";} 
else{ ?>add_new_item2.php?user_id=<?php echo $_GET['user_id']; }?>" method="post"> 
//no need to expose this area here
<input type="submit" value="submit" name="submit" />
</form>

//the processor

<?php 
if(isset($_POST['submit']))
{
$redirect = "f";
    if(whatever)
    {
     //the if condition comes here
    }
    else //all if conditions are satisfied
    {
       $redirect = "t";
    }
}

私がやりたいことは、フォームアクションで単純です。if条件がまだ満たされていない場合はアクションをaction = "#"にし、条件が満たされている場合はアクションをaction = "add_new_item2.php?user_id=123"にします。

4

4 に答える 4

1

これを試して

<?php
$action = ''; 
if(isset($redirect) && $redirect == "f") {
  $action = "#";
} else {
  $action = "add_new_item2.php?user_id=".$_GET['user_id'];
}
?>
<form action="<?php echo $action; ?>" method="post"> 
于 2012-10-27T04:12:46.767 に答える
1

使用前に状態を作るということは…

<?php
$action = ''; 
if(isset($redirect) && $redirect == "f") {
  $action = "#";
} else {
  $action = "add_new_item2.php?user_id=".$_GET['user_id'];
}
?>

<form action="<?php echo $action; ?>" method="post">
于 2012-10-27T04:28:41.580 に答える
0

リダイレクト値がすでに設定されている場合。$_SERVER['PHP_SELF']現在のページに対してアクションを実行するために使用します。

引用符を確認してください$redirect == "f"。一重引用符で囲むか、適切にエスケープする必要があります。

<form name="form1" method="post" 
      action="<?php 
             if(isset($redirect)&& $redirect == 'f'){echo $_SERVER['PHP_SELF'];} 
             else{ echo 'add_new_item2.php?user_id='.$_GET['user_id']; }
            ?>"
>
于 2012-10-27T04:15:34.407 に答える