Nieznany indeks $_POST

0

Witajcie

Mam problem z poniższym kodem:
Odpalam program XAMPP, i mam taki komentarz po wpisaniu localhost.
Proszę o pomoc

"Notice: Undefined index: pole_1 in D:\xampp\htdocs\php1\praca.php on line 2
Błędny numer miesiąca!"

<?php
  $nr=$_POST['pole_1'];
  switch ($nr)
  {
    case 1:echo 'styczeń';break;
    case 2:echo 'luty';break;
    case 3:echo 'marzec';break;
    case 4:echo 'kwiecień';break;
    case 5:echo 'maj';break;
    case 6:echo 'czerwiec';break;
    case 7:echo 'lipiec';break;
    case 8:echo 'sierpień';break;
    case 9:echo 'wrzesień';break;
    case 10:echo 'październik';break;
    case 11:echo 'listopad';break;
    case 12:echo 'grudzień';break;
    default:echo 'Błędny numer miesiąca!';
  }
0

Musisz mieć jakąś wartość w zmiennej $_POST["pole_1"].

0

coś takiego?

<?php $nr=$_POST['luty']; switch ($nr) Nic nie pomogło.
0

W jaki sposób przesyłasz dane do swojego skryptu?
Tj. pokaż sposób, w jaki go wywołujesz.

Może pomyliłeś metodę POST z GET?

0

Napisz skrypt, wyświetlający nazwę miesiąca, w zależności od podanego numeru.
(wykorzystaj SWITCH)

Tak wygląda treść mojego zadania.

0

Zatem skąd wziąłeś $_POST i dlaczego przepisujesz bezmyślnie kod z internetu, zamiast sprawdzić co z czym się je? :P

0

Właśnie napisałem z nadzieją, że ktoś tu mi pomoże. Zależy mi na czasie a nie na zrozumieniu tego co mam. Muszę zaliczyć tą pracę a co dalej mnie nie interesuje.

0

Pomóc możemy - i pomocą będzie porada przeczytaj, co w ogóle zawiera tablica $_POST oraz nie pisz kodu na pałę.

Zależy mi na czasie a nie na zrozumieniu tego co mam

Chłopie, co Ty robisz w takim razie na studiach :D
Ano tak: pewnie poszedłeś na zupełnie inny kierunek i zaskoczyli Cię programowaniem. Oraz wykładowca jest bardzo zły.

0

Chłopie nie jestem na studiach btw. Technik informatyk. E14 muszę mieć to zrobione a co po szkole będę robić to zupełnie inna sprawa. Jestem na czym co mnie interesuje więc wiesz, albo i nie jak to jest zaocznie się ucząć. Może powiesz wprost, że nie mam na co tu liczyć z pomocą i ktoś "łaskawszy" mi pomoże. Czasami trzeba pchnąć nie które rzeczy i do tego nie wracać.

0

E14 muszę mieć to zrobione

Wcale nie musisz - sam wybrałeś taką ścieżkę, zatem przyjmij na klatę moje porady.
Jeśli naprawdę nie potrafisz wpisać w Google np. php formularze, php kurs, cokolwiek - nie powinieneś dostać tego papierka.
Zdanie egzaminu to poświadczenie, że sam coś potrafisz. A Ty nie dość, że nie potrafisz (co nie jest niczym złym - nikt nie wie wszystkiego), to jeszcze nie chcesz się nauczyć, wolisz, aby ktoś inny to za Ciebie odwalił. Zatem może jednak E14 nie jest dla Ciebie?

Może powiesz wprost, że nie mam na co tu liczyć z pomocą i ktoś "łaskawszy" mi pomoże

Wtf :|
Jeśli dla Ciebie pomoc oznacza odwalenie za ciebie pięciu minut wyszukiwania w google to faktycznie, powinieneś pójść na inne forum.

Czasami trzeba pchnąć nie które rzeczy i do tego nie wracać.

Przecież tu chodzi o Twoją edukację: uczysz się dla siebie, a Ty najwyraźniej, nie wiem, boisz się przeczytać kurs? Szkoda Ci czasu na naukę? :|

0

dobra nara. szkoda czasu to na rozmowę z Tobą.

1

a moim zdaniem @Patryk27 ma rację, już nawet sprawdzając instrukcję switch doszedłbyś do rozwiązania:
http://kursphp.com/rozdzial-2/instrukcja-switch/
ale jak sam zlewasz to po co my mamy się wysilać dude;

EDIT
dodatkowo wpisując w google switch+php+miesiące, mamy następujący wynik
http://www.teacher.webd.pl/kurs_php/k_1_11_3.php

szok, ból, niedowierzanie...

0

450 zł i ci to zrobie :)

0
Pabloss napisał(a):

450 zł i ci to zrobie :)

zasmucę Cię mam zrobione za 0 zł. ;p i nie dał bym nawet 10 zł za to

0
<?php

function showMonth($nr)
{
    switch ($nr) {
        case 1:
            echo 'styczeń';
            break;
        case 2:
            echo 'luty';
            break;
        case 3:
            echo 'marzec';
            break;
        case 4:
            echo 'kwiecień';
            break;
        case 5:
            echo 'maj';
            break;
        case 6:
            echo 'czerwiec';
            break;
        case 7:
            echo 'lipiec';
            break;
        case 8:
            echo 'sierpień';
            break;
        case 9:
            echo 'wrzesień';
            break;
        case 10:
            echo 'październik';
            break;
        case 11:
            echo 'listopad';
            break;
        case 12:
            echo 'grudzień';
            break;
        default:
            echo 'Błędny numer miesiąca!';
    }
}

function isPostDataPresent()
{
    return isset($_POST['pole_1']);
}

if (isPostDataPresent()) {
    showMonth($_POST['pole_1']);
}

Myśle, że tak będzie dobrze.

1

@kondix: nie, nie jest dobrze.

1.Niech funkcja związana z miesiącami je zwraca zamiast wyświetlać - dzięki temu będzie bardziej użyteczna.
2.Zastosuj mapę (tablicę) zamiast tego ogromnego switcha (!).
3.W jakim celu wydzieliłeś isset() do odrębnej funkcji?

0

A nie można tak:

function getMonthName($monthNumber) {
    return strftime('%B', mktime(0, 0, 0, $monthNumber)));
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.