Простым языком - дело в том, что:
- сначала PHP код (все что между
<?php
и
?>
) будет выполнен на сервере, и в вашем случае там будет пусто, потому что переменная $type будет существовать только на сервере в момент выполнения этого фрагмента кода, этот код в этом месте ничего не выводит (не делает echo, print, printf и тд).
- далее будет сгенерирована HTML страничка, которая содержит JavaScript код (все что между
<script>
и
</script>
), но еще раз - PHP-кода там уже не будет (он выполнился), вместо него будет результат этого выполнения (в вашем случае - пусто, см. выше)
- JavaScript код выполняется браузером, после того как он сгенерирован на сервере и скачан оттуда этим самым браузером. И в браузере ваш скрипт, с учетом что PHP там ничего не напечатал, будет выглядеть вот так:
<script>
if (screen.width>500) {
} else {
}
</script>
Таким путем как вы пытаетесь вы можете передать данные из PHP в JavaScript, например
<?php echo $type; ?>
выведет в JS значение переменной $type. Обратно из JS в PHP вы так данные не передадите, это как путешествие во времени в 1994й год.
Для передачи данных на сервер используется
ajax.