2016-05-01 11 views
0

入力ボックスに '@'記号が含まれている場合に、文字列内の変数を変更しようとするif/else文があります。このデータはSQLで終わります。私のSQLテーブルを見るたびに、 'else'ステートメントを含む文字列だけが挿入されます。変数を変更する方法文字列にXが含まれている場合

文字列内の変数が変更される必要があります。入力フィールドに '@'記号を付けると、入力フィールドに '@'記号が含まれていない場合、 'else'インスタンスが適用されます。

マイコード:私は私のコードとしてこれを使用しても

if (strpos($link, '@') !== false) { 
    $webvar = 'This'; 
    $link  = mysqli_real_escape_string($conn, '<a href='."'".'http://'.$_POST['Link']."' ".'target='."'".'_blank'."'".'>'.$webvar.'</a>'); 
} 
else { 
    $webvar = 'That'; 
    $link  = mysqli_real_escape_string($conn, '<a href='."'".'http://'.$_POST['Link']."' ".'target='."'".'_blank'."'".'>'.$webvar.'</a>'); 
} 

:文字列は変数なしで出力されます。

$link  = mysqli_real_escape_string($conn, '<a href='."'".'http://'.$_POST['Link']."' ".'target='."'".'_blank'."'".'>'.$webvar.'</a>'); 

if (strpos($link, '@') !== false) { 
    global $webvar; 
    $webvar = 'Twitter'; 
} 
else { 
    global $webvar; 
    $webvar = 'Website'; 
} 
+0

あなたはif文の中に掲載されている$リンクとは何ですか?あなたのコードはうまくいくようです:https://3v4l.org/N7RdL –

+0

$リンクはIF文でのみ宣言されています –

+0

私はこの行を持っていました:$ title \t \t = mysqli_real_escape_string($ conn、$ _POST ['Link'] );私は入力フィールドにsqlに入力されたものを挿入するので削除しました。入力フィールドに入力されたものと一緒に行くためには、追加されたhtmlが必要です。 –

答えて

0

これは動作しますが、クレジットでSIIM Kallariへ

if(strpos($_POST['Link'], '@') !== false) { 
    global $webvar; 
    $webvar = 'Twitter'; 
    $link  = mysqli_real_escape_string($conn, '<a href='."'".'http://'.$_POST['Link']."' ".'target='."'".'_blank'."'".'>'.$webvar.'</a>'); 
} 
else { 
    global $webvar; 
    $webvar = 'Website'; 
    $link  = mysqli_real_escape_string($conn, '<a href='."'".'http://'.$_POST['Link']."' ".'target='."'".'_blank'."'".'>'.$webvar.'</a>'); 
}