Радиобатоны и контактная форма

Vuzy

Новичок
Уберите лишний код. вы из-за него не видите проблему.
Это же первый радио баттон?
HTML:
<input type="radio" name="radio" value="Radio Name" id="o1" checked><label for="o1">Radio Name:<em>*</em></label>
А это второй?
Код:
<input type="radio" name="radio" value="Radio Name 2" id="o2"><label for="o2">Radio Name 2<em>*</em></label>
и в обрабочите вы проверяете равно ли оно 1 или 2?
PHP:
$radio = $_POST[radio];
    if($radio=='2'){
.........
    }
проверять надо является ли строка 'Radio Name 2' или 'Radio Name'
или в же в значении value присвоить 1 или 2. А потом проверять их..
 

Максимка

Новичок
Радиобатона 2, первый показывает один тип полей, второй радиобатон - это другой тип полей, в зависимости от того на который радиобатон было нажато и заполнено, те поля должны приходить, в значениях value для радиобатонов, я предаю имя радиобатона так как в письме нужно видеть следующую запись:

- имя радиобатона 1
- данные поля 1
- данные поля 2
- данные поля 3

если выбрали второй радиобатон то:

- имя радиобатона 2
- данные поля 4
- данные поля 5

причем данные 3-х полей не должны приходить если выбран второй радиобатон и наооборот, вот с этим условием я и не могу справится
 

riff

Новичок
Слушай, ну не получается у тебя с условием, ну закомментируй его и распечатай ты для себя все элементы массива $_POST как есть. Тыкни в один radio, распечатай результат, затем в другой - ты увидишь сразу как изменится информация. Без отладки программы нельзя программировать, а как ты сейчас-то с ней борешься?
 

Максимка

Новичок
ну так и есть сейчас, что кликнув на первый радиобатон и заполнив поля при выпадении, я получаю все значения радиобатона и полей, но когда я тыкаю на второй радиобатон и заполняю те же поля, я вообще ничего не получаю, а результатом работы, письмо в котором идут пустые поля

Код:
$news.= "Radio button name: " . "\r\n" . $_POST[radio] . "\r\n";  -получаю значение

    $news.= "IBAN: " . "\r\n" . $_POST[iban] . "\r\n";  - получаю данные
    $news.= "BIC (SWIFT-Code): " . "\r\n" . $_POST[swiftcode] . "\r\n"; - получаю данные
    $news.= "Name der Bank: " . "\r\n" . $_POST[nderbank] . "\r\n"; - получаю данные
    $news.= "Kontoinhaber: " . "\r\n" . $_POST[nkontoinhaber] . "\r\n"; - получаю данные
  
    $radio = $_POST[radio];
    if($radio=='2'){
    $news.= "Kontonummer: " . "\r\n" . $_POST[kontonummer] . "\r\n"; - пустые поля приходят
    $news.= "Bankleitzahl: " . "\r\n" . $_POST[bankleitzahl] . "\r\n";- пустые поля приходят
    $news.= "Name der Bank: " . "\r\n" . $_POST[derbank] . "\r\n";- пустые поля приходят
    $news.= "Kontoinhaber: " . "\r\n" . $_POST[kontoinhaber] . "\r\n";- пустые поля приходят
    }
вопрос в другом, как починить данное условие? если первый радио батон - поля первого радиобатона обрабатываются, если второй - то вторые поля, но они не обрабатываются

 

riff

Новичок
У тебя в последнем ответе опять не закомментированно условие, поэтому я не могу доверять твоим словам о пустых значениях. )

В html'е в <input type="radio" name="radio" value="Radio Name 2" > у тебя забито "Radio Name 2",
а условие ты проверяешь на "2" ($radio=='2'). Сделай их одинаковыми либо то, либо то.

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

Максимка

Новичок
сделал вот так:

Код:
if(isset($_POST['radio'])) {
switch ($_POST['radio']) {
case '1':
$news.= "IBAN: " . "\r\n" . $_POST[iban] . "\r\n";
$news.= "BIC (SWIFT-Code): " . "\r\n" . $_POST[swiftcode] . "\r\n";
$news.= "Name der Bank: " . "\r\n" . $_POST[nderbank] . "\r\n";
$news.= "Kontoinhaber: " . "\r\n" . $_POST[nkontoinhaber] . "\r\n";
break;
case '2':
$news.= "Kontonummer: " . "\r\n" . $_POST[kontonummer] . "\r\n";
$news.= "Bankleitzahl: " . "\r\n" . $_POST[bankleitzahl] . "\r\n";
$news.= "Name der Bank: " . "\r\n" . $_POST[derbank] . "\r\n";
$news.= "Kontoinhaber: " . "\r\n" . $_POST[kontoinhaber] . "\r\n";
}
}
и это работает прекрасно, так шта спасибо за помощь
 

riff

Новичок
Наконец начал сверять "$_POST['radio']" с тем значением что ввёл в <input name="radio"> . Молодец :)
И пересиль себя, и начни наконец заключать в кавычки ключи массива: $_POST['kontonummer']
 

Vuzy

Новичок
две страницы топика пытались объяснить человеку что у него разные value в сравнении. И все получилось!
 

Максимка

Новичок
и что это плохо?
объяснили и хорошо, спасибо за помощь, мне теперь в дальнейшем легче стало делать подобные вещи и вопросов не возникает
 
Сверху