2017-01-30 24 views
0

HTMLフォームのテキストボックスから変数を読み込む必要があるシンプルなフォームとPHPスクリプトを作成しました。ユーザーが単純なメッセージを送信するときに「あなたが歌を探していますartist_name 'しかし、私は空白のページか、または定義されていないというメッセージが表示されたときに試してみます。しかし、私はちょうどphp変数をエコーする場合、値を正しく表示します。PHPの警告が定義されていないか、表示されない

私はちょうど

alert($artist_name) and alert('$artist_name') 

を使用しようとしましたが、私は捕捉されないにReferenceErrorを取得します。$ ARTIST_NAMEが定義されていません。またはアラートには値の代わりに '$ artist_name'が表示されます。

しかし

<?php echo $_GET["artist"]; ?> 

のようなものが正常にテキストを取得?

これも問題ありません。

elseif ($artist_name =="foo") { ?> 
    <script language="javascript" type="text/javascript"> 
     alert("you enetered foo"); 
     window.location = 'index.html'; 
    </script> 
<?php 
} 

ので、それは変数がOKになっているが、私はちょうどこのコードの全体の目的である私の警告メッセージに含めるように見えるカント、誰かが私が間違っているのものを私を見ることができます。どうもありがとう。

以下の私のコード:

HTML

<form id="form1" action="searchresults.php" method="GET"> 
    <div id="artform"> 
     <fieldset> 
      <legend> Search for music </legend> 
      <p> <label> Artist (*): </label> <input type="text" name="artist" id="artist" placeholder="enter an artists" class="add1"></p> 
     </fieldset>        
     <input type="submit" class="button1"> 
     <input type="reset" class="button2"> 
    </div> 
</form> 

あなたはPHPの開始タグと終了タグでの$ ARTIST_NAMEを囲むのを忘れPHP

<?php 
$artist_name = $_GET['artist']; 

if (empty($artist_name)) { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('Field blank !, please try again.'); 
     window.location = 'index.html'; 
    </script> 
<?php 
} 
else { ?> 
    <script language="javascript" type="text/javascript"> 
     alert('You are searching for songs by' $artist_name); // the issue is here 
     window.location = 'index.html'; 
    </script> 
<?php 
} 
?> 
+1

'alert( 'あなたは<?= $ artist_name?>'で曲を探しています); ' – 1252748

答えて

2

alert('You are searching for songs by' $artist_name); // the issue is here 

がしてきたはずです。

alert('You are searching for songs by <?php echo $artist_name; ?>'); // the issue is here 
+1

最後の引用符が間違った場所にあります – 1252748

+0

ありがとうございます@ 1252748 – KEK

+1

重要なのは、基本的に、変数名の印刷とは対照的に、その変数の値をエコーする必要があるということです。 echoステートメントのないPHPタグでは、目的の結果が得られません。 Edwinは、変数の "解釈された" /実際の値を出力するために、1)コードをPHPタグで囲んで@KEKとし、2) "echo" /値を出力する –

0

が、私はそれが働いてしまったあなたに感謝し、KEKが私はあなたの方法を試してみましたが、私はエラーキャッチされていないでSyntaxErrorました:欠落している)引数リストの後に、しかし、125248のコメントは完全に働きました、私はそれが動作するためのタグを含める必要がありました。あなたの時間をありがとう。

関連する問題