Odczytanie listy wyboru wysłanej POST

0
switch($_POST['zmienna']) {

  case 'Matematyka':  {   
  
       
    }   break;  
                                                                               
                       
      case 'Fizyka':
       
      {   
  
  
       
       
      }   break;  
     case 'Informatyka':
     
    {   
  
      }   break;  
};

if ($zmienna = 1) {
  $_POST["przedmiot"] = 'Matematyka';
};

if ($zmienna = 2) {
  $_POST["przedmiot"] = 'Fizyka';
};

if ($zmienna = 3) {
  $_POST["przedmiot"] = 'Informatyka';
};

if ($zmienna = 4) {
  $_POST["przedmiot"] = 'Angielski';
};

if ($zmienna = 5) {
  $_POST["przedmiot"] = 'Matematyka';
};

if ($zmienna = 6) {
  $_POST["przedmiot"] = 'Polski';
};

Dziękuję za pomoc.

1

A co konkretnie próbujesz zrobić?

Bo masa tutaj jest dziwnych rzeczy:

  • Skąd się wzięła $zmienna? Czy była ustawiona z $_POST['zmienna']?
  • Nadpisywanie $_POST nie ma sensu, nic czymś takim nie osiągniesz za bardzo.
  • Pusty switch?

Dobrze by było jakbyś opisać co ten program ma robić.

1

Raczej działa, powinno ustawić zmienną $zmienna na 6 i $_POST["przedmiot"] na "Polski", reszta kodu jest zbędna, ale my tak samo jak parser nie mamy pojęcia jakiego wyniku oczekiwałeś

1

To masz źle:

if ($zmienna = 1)

powinno być:

if ($zmienna == 1)

Porównanie to ==, a robiąc = przyporządkowujesz wartość w if-ie.

I jeszcze jest === wtedy typ danych musi się zgadzać

if ('1' == 1) -> true

if ('1' === 1) -> false

0

Generalnie to już pierwsza funkcja switch nie działa i wysypuje się:

                        {
                                     
                            case 'Matematyka':
                             
                            {   
  
             
            }   break;  
                                                                                     
                             
                            case 'Fizyka':
                             
                            {   
     
 
             
             
            }   break;  
                             case 'Informatyka':
                             
                            {   
     
 
             
             
            }   break;  
 

             
                        };
0

@atlon: Ale co Ty w ogóle próbujesz zrobić?

0

wywal to, nic nie robi. break powinien być wewnątrz klamerek

0

Ten program zaznaczny przedmiot wpisuje dalej do tabeli SQL

Kolejna instrujcja to

$zapytanie =  "INSERT INTO `student`( nazwisko, telefon, adres, email, przedmiot, temat_korepetycji, rodzaj ) VALUES ('".$_POST["name"]."','".$_POST["telefon"]."','".$_POST["adres"]."','".$_POST["email"]."','".$_POST["przedmiot"]."','".$_POST["temat_korepetycji"]."','".$_POST["rodzaj"]."')";
1

@atlon:

Dlaczego ma działać?

Nie wiadomo co chcesz
Nie znasz podstaw języka
Prawdopodbnie wklejasz jakieś bzdury znalezione googlem u słabszych od siebie

atlon napisał(a):

Generalnie to już pierwsza funkcja switch nie działa i wysypuje się:

Nie akceptujemy słów "nie działa" i podobnych.

Błędy zgłaszane przez parser (kompilator w innych językach) ?
Wyjątki podczas wykonania?
Zachowanie niezgodne z oczekiwanym? Jakie jest oczekiwane, a jakie w praktyce

0
atlon napisał(a):

Ten program zaznaczny przedmiot wpisuje dalej do tabeli SQL

Kolejna instrujcja to

$zapytanie =  "INSERT INTO `student`( nazwisko, telefon, adres, email, przedmiot, temat_korepetycji, rodzaj ) VALUES ('".$_POST["name"]."','".$_POST["telefon"]."','".$_POST["adres"]."','".$_POST["email"]."','".$_POST["przedmiot"]."','".$_POST["temat_korepetycji"]."','".$_POST["rodzaj"]."')";

Najlepiej byłoby jakbyś wrzucił cały kod

1
atlon napisał(a):

Ten program zaznaczny przedmiot wpisuje dalej do tabeli SQL

Kolejna instrujcja to

$zapytanie =  "INSERT INTO `student`( nazwisko, telefon, adres, email, przedmiot, temat_korepetycji, rodzaj ) VALUES ('".$_POST["name"]."','".$_POST["telefon"]."','".$_POST["adres"]."','".$_POST["email"]."','".$_POST["przedmiot"]."','".$_POST["temat_korepetycji"]."','".$_POST["rodzaj"]."')";

Wprowadź do pola nazwisko O'Hara

0

To jest do tego formularz wyciągający informacje:

<p>
  <label for="przedmiot" class="label">Przedmiot z którego chciałbyś otrzymać korepetycje ? </label>
  <select name="przedmiot" id="przedmiot">
    <option value="null">wybierz jeden z przedmiotów</option>
    <option value="1">Matematyka</option>
    <option value="2">Fizyka</option>
    <option value="3">Informatyka</option>
    <option value="4">Angielski</option>
    <option value="5">Niemiecki</option>
    <option value="6">Polski</option>
  </select>
</p>
0
atlon napisał(a):

To jest do tego formularz wyciągający informacje:

<p>
  <label for="przedmiot" class="label">Przedmiot z którego chciałbyś otrzymać korepetycje ? </label>
  <select name="przedmiot" id="przedmiot">
    <option value="null">wybierz jeden z przedmiotów</option>
    <option value="1">Matematyka</option>
    <option value="2">Fizyka</option>
    <option value="3">Informatyka</option>
    <option value="4">Angielski</option>
    <option value="5">Niemiecki</option>
    <option value="6">Polski</option>
  </select>
</p>
<?php

$subjects = [
    "null" => null,
    "1"    => 'Matematyka',
    "2"    => 'Fizyka',
    "3"    => 'Informatyka',
    "4"    => 'Angielski',
    "5"    => 'Niemiecki',
    "6"    => 'Polski',
];

$subject = $subjects[$_POST['przedmiot']];

3

To jeszcze taka "drobnostka" - Twój kod jest podatny na atak SQL Injection. Ktoś może np. skasować Ci całą bazę, albo pobrać wszystkie dane, w tym osobowe chronione przez RODO.

Proponuję Ci najpierw ze 2 tygodnie poświęcić na naukę podstaw języka PHP + podstawy bezpieczeństwa, w sieci jest pełno darmowych kursów. Forum za Ciebie tego nie zrobi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1