2017-01-30 2 views
0

Я создал простую форму и скрипт php, который должен прочитать переменную из текстового поля формы html и когда пользователь нажмет отправить простое сообщение, будет отображаться: «Вы ищете песни по artist_name ', но когда я пытаюсь получить либо пустую страницу, либо сообщение с неопределенным. однако, если я просто откликнулся на переменную php, она правильно отображает значение.php alert не определен или не отображается

я попытался просто использовать

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 
} 

поэтому становится переменная нормально, но я просто не могу показаться, чтобы включить его в моем предупреждающем сообщении, которая вся цель этого кода, пожалуйста, может кто-то показать мне, что я делаю неправильно. Большое спасибо.

мой код ниже:

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 = $_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 ('Вы ищете песни от ');' – 1252748

ответ

2

Вы забыли вложить $ ARTIST_NAME с начала PHP и конечного тега.

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

Важно отметить, что проблема заключается в том, в принципе, что ему нужно эхо-значение этой переменной, а не печатать имя переменной. Теги PHP без инструкции echo не приведут к желаемому результату. Эдвин, чтобы напечатать «интерпретируемое»/фактическое значение переменной, вам нужно: 1) заключить код в теги PHP, как отметил @KEK, и 2) «эхо»/распечатать значение –

0

спасибо я получил это работает, Кек я попробовал ваш метод, но я получил ошибку неперехваченного SyntaxError: отсутствующее) после списка аргументов, но 125248 комментария работал отлично , я должен был включить теги для его работы. Спасибо за ваше время.

Смежные вопросы