Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z select i wysyłanie danych
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam....
mam pytanie jak zorbić jak mam:
  1. <?php
  2. echo "<select name=\"rodzaj\">
  3.    <option value=\"Retusz fotografii\">Retusz fotografii</option>
  4.    <option value=\"Efekty Tekstu\">Efekty Tekstu</option>
  5.    <option value=\"Webdesign\">Webdesign</option>
  6.    <option value=\"Podstawy\">Podstawy</option>
  7.    <option value=\"Animacje\">Animacje</option>
  8.    <option value=\"Buttony\">Buttony</option>
  9.    <option value=\"Efekty\">Efekty</option>
  10.    <option value=\"Inne\">Inne</option>
  11.    </select>
  12.    ";
  13. ?>

tam jeszcze są pola do wpisania i zrobiłem obsługę błędu ale jak wyśle to mi się zeruje wybrane pole na domyślne czyli na Retusz fotografii jak zrobić aby zostawało takie jak wybrałem....

Kod z grubsza:
  1. <?
  2. if(!$_SESSION[user_zalogowany]){ echo "<b>Aby dodać Tutoriala musisz być zalogowany.</b>"; }
  3. if($_SESSION[user_zalogowany]){
  4.    
  5.    
  6.    
  7.    
  8.    
  9.    
  10.    if($_POST[form_wyslany]){
  11.        if (empty($_POST['nazwa']))
  12.    {
  13.      echo  '- Podaj Nazwę Tutoriala<br/>';
  14.      $error=1;
  15.    }
  16.       if (empty($_POST['tresc']))
  17.    {
  18.      echo  '- Podaj Treść Tutoriala<br/>';
  19.      $error=1;
  20.    }
  21.    }
  22.    if($_POST[form_wyslany] && !$error){
  23.        $dodano=1;
  24.        echo "Tutorial Został Dodany<br/>";
  25.    }
  26.    if(!$dodano) {    
  27.    echo '<form method="post" action="dodaj_tutoriala.html">';
  28.    echo "Rodzaj Tutoriala ";
  29.    echo "<select name=\"rodzaj\">
  30.    <option value=\"Retusz fotografii\">Retusz fotografii</option>
  31.    <option value=\"Efekty Tekstu\">Efekty Tekstu</option>
  32.    <option value=\"Webdesign\">Webdesign</option>
  33.    <option value=\"Podstawy\">Podstawy</option>
  34.    <option value=\"Animacje\">Animacje</option>
  35.    <option value=\"Buttony\">Buttony</option>
  36.    <option value=\"Efekty\">Efekty</option>
  37.    <option value=\"Inne\">Inne</option>
  38.    </select>
  39.    ";
  40.    echo "<br/><br/>";
  41.    echo "Nazwa ";
  42.    echo "<input type=\"text\" name=nazwa maxlength=\"200\" size=\"50\" value=$_POST[nazwa]>";
  43.    echo "<br/><br/>";
  44.    echo "Treść:<br/>";
  45.    echo 'Pomoc: Zdjęcie <img src="adres zdjecia">, Pogrubienie <b>Tresc</b>';
  46.    echo "<textarea cols=\"98\" rows=\"30\" name=tresc>$_POST[tresc]</textarea>";
  47.    echo '<br/><br/>';
  48.    echo '<input type="submit" value="Dodaj Tutoriala">';
  49.    echo '<input type="hidden" name="form_wyslany" value="1">';
  50.    echo '</form>';
  51.    }
  52. }
  53. ?>
webdice
Zmień tytuł tematu, ma on opisywać problem.
MajareQ
Ustaw zmienną sesyjną i dodaj do option taki cosik: selected="selected"
ShadowD
Możesz zapamiętać w sesji/cookie i przy każdym następnym wejściu sprawdzać czy istnieje jak tak to ustawiasz na to pole i usuwasz sesję by w przyszłości nie przeszkadzała...

EDIT: Chciałem się rozpisać... ;p
krzychu0808
nie wiem czy wam się to spodoba ale zrobiłem to tak:
  1. <?php
  2. if(!$dodano) {
  3.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Retusz fotografii") {$s='selected="selected"';}
  4.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Efekty Tekstu") {$s1='selected="selected"';}
  5.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Webdesign") {$s2='selected="selected"';}
  6.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Podstawy") {$s3='selected="selected"';}
  7.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Animacje") {$s4='selected="selected"';}
  8.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Buttony") {$s5='selected="selected"';}
  9.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Efekty") {$s6='selected="selected"';}
  10.        if ($_POST[form_wyslany] && $_POST['rodzaj']=="Inne") {$s7='selected="selected"';}
  11.    echo '<form method="post" action="dodaj_tutoriala.html">';
  12.    echo "Rodzaj Tutoriala ";
  13.    echo "<select name=\"rodzaj\">
  14.    <option value=\"Retusz fotografii\" $s>Retusz fotografii</option>
  15.    <option value=\"Efekty Tekstu\" $s1>Efekty Tekstu</option>
  16.    <option value=\"Webdesign\" $s2>Webdesign</option>
  17.    <option value=\"Podstawy\" $s3>Podstawy</option>
  18.    <option value=\"Animacje\" $s4>Animacje</option>
  19.    <option value=\"Buttony\"$s5>Buttony</option>
  20.    <option value=\"Efekty\" $s6>Efekty</option>
  21.    <option value=\"Inne\" $s7>Inne</option>
  22.    </select>
  23.    ";
  24. ?>
ShadowD
Jeśli tak to na swith a nie na masie if... ;p
MajareQ
Cytat
nie wiem czy wam się to spodoba ale zrobiłem to tak:


działa?


+ to co powiedział Shadow - użyj switcha i casa.
HellRider
Skoro w każdym if odnosisz się do $_POST[form_wyslany], napisz:

  1. <?php
  2. if((!$dodano) AND ($_POST['form_wyslany'])){ // używaj cudzysłowów/apostrofów w asocjacji
  3.   switch ($_POST['rodzaj']){
  4.     case "Retusz fotografii": $s='selected="selected"'; break;
  5.     case ...  :   $s1='selected="selected"'; break;
  6.     ...
  7.   }
  8. }
  9. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.