2013-06-14 2 views
1

У меня нет опыта работы с php. Некоторые html, некоторые javascript, но это все.застрял с простым кодом php

Все, что я хочу сделать, это иметь раскрывающийся список соединений с базой данных, а затем на основе этого соединения с выбранной базой данных. Достаточно просто, но я не могу получить значение опции выбора. Я спустил огромную крысиную дыру, пытаясь понять это. все указывает мне на isset ($ _ POST ['somevariable']), чтобы получить значение, но я думаю, что мне не хватает чего-то. Нужно ли использовать тег формы или что-то в этом роде. независимо от того, что я делаю, я не могу получить переменную. Кроме того, могу ли я сделать все это в одном скрипте php? другие сообщения имеют несколько сценариев php. Я в конечном итоге добавив кнопку отправки, чтобы убедиться, что это ... Я просто иду до пустой .. Я что-то действительно немой хватает ...

Вот мой код:

<html> 
<head> 
<title>Liferay Utilities</title> 
<style> 
    .label { 
     font-weight: bold; 
     margin: 10px 20px 10px 0; 
     float: left; 
     clear: left; 
     width: 200px; 
    } 

    .element { 
     margin: 10px 0; 
     width: 150px; 
     float: left; 
    } 
</style> 
</head> 
<body> 
    <h1>Liferay Utilities</h1> 


    <hr style="border-bottom: #cac917 5px solid;" /> 

    <p class="label">Choose Database:</p> 


<select name="dbtype"> 
    <option value="default">Select Database</option> 
    <option value="suntest">SUNTEST</option> 
    <option value="sundevo">SUNDEVO</option> 
</select> 
<input type="submit" name="submit" value="Next"> 
</p> 

    <?php 

//just debugging 
    echo 'xx'; 
    echo isset($_POST['submit']); 
    echo 'xx'; 
if (isset($_POST['dbtype'])) 
{ 

     // I NEVER EVER GET IN HERE 
     echo 'in here'; 


} 

?> 
</body> 
</html> 

Любая помощь будет принята с благодарностью.

ЗДЕСЬ МОЙ НОВЫЙ КОД: ЭТО РАБОТАЕТ СЕЙЧАС !!! Спасибо вам всем! Хотелось бы, чтобы я отправил час назад ... Если есть хорошие веб-сайты, были полные примеры и реальные, дайте мне знать.

<html> 
<head> 
<title>Liferay Utilities</title> 
<style> 
    .label { 
     font-weight: bold; 
     margin: 10px 20px 10px 0; 
     float: left; 
     clear: left; 
     width: 200px; 
    } 

    .element { 
     margin: 10px 0; 
     width: 150px; 
     float: left; 
    } 
</style> 
</head> 
<body> 
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

    <h1>Liferay Utilities</h1> 


    <hr style="border-bottom: #cac917 5px solid;" /> 

    <p class="label">Choose Database:</p> 

<select name="dbtype"> 
    <option value="default">Select Database</option> 
    <option value="suntest">SUNTEST</option> 
    <option value="sundevo">SUNDEVO</option> 
</select> 
<input type="submit" name="submit" value="Next"> 
</p> 
    <?php 
    echo $_SERVER['PHP_SELF']; 
//just debugging 
    echo 'xx'; 
    echo isset($_POST['submit']); 
    echo 'xx'; 
if (isset($_POST['dbtype'])) 
{ 

     // I NEVER EVER GET IN HERE 
     echo 'in here'; 


} 

?> 
</form> 

</body> 
</html> 
+1

Вам нужно будет поместить этот выбор в форму. То, как вы его настроили прямо сейчас, значение 'action' должно быть на этой странице. –

+0

@zdhickman: и кнопка отправки. –

+0

Спасибо вам всем! Я получил это ... так просто и все же ускользнул от меня часами ... – user2340353

ответ

1

Try:

<form action="page.php" method="post"> 
<select name="dbtype"> 
    <option value="default">Select Database</option> 
    <option value="suntest">SUNTEST</option> 
    <option value="sundevo">SUNDEVO</option> 
</select> 
<input type="submit" name="submit" value="Next"> 
</form> 

в РНР сделать echo $_POST["dbtype"];, чтобы увидеть, если вы получите правильный результат. Измените page.php на имя страницы, на которую вы отправляете форму.

+0

Чтобы сделать страницу более динамичной, вы можете использовать ' 'вместо' page.php', то неважно, в какой файл был изменен в будущем. – ahwm

+1

Идея состояла в том, чтобы показать ему, что ему не нужно было отправлять страницу себе, так как он говорит, что у него 0 опыта вообще. EG: Если у вас есть виджет входа в index.php, вы отправите на свою страницу входа, а не index.php :) –

0

Вы не определяете method. По крайней мере, вы должны иметь это, чтобы использовать $_POST. Для этого необходимо обернуть ввода/выбора в form

<form method="post"> 
<select name="dbtype"> 
    <option value="default">Select Database</option> 
    <option value="suntest">SUNTEST</option> 
    <option value="sundevo">SUNDEVO</option> 
</select> 
<input type="submit" name="submit" value="Next"> 
</form> 

Примечание: Не давая атрибут action, действие будет текущая страница.

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