Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z formularzem
meg_eho
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (0%)
-----


Najpierw może kod, później pytania.
Kod
if($_SESSION['uwierz_uzyt'])

{

echo "<h3>Katalog:</h3>";

echo "<div style=\"width: 370px; margin: auto; text-align: left;\">

<form method=\"post\" action=\"kat_edit.php\"enctype=\"multipart/form-data\">";


while ($wers = mysql_fetch_assoc($kat))

{

echo "<input type=\"radio\" method=\"post\" name=\"row\" value=\"{$wers['kid']}\"/>{$wers['tytul']}<br>";

}

echo "<br><input type=\"submit\" name=\"katadd\" value=\"Dodaj\">&nbsp;&nbsp;<input type=\"button\" name=\"katdel\" value=\"Usuń\">&nbsp;&nbsp;<input type=\"submit\" name=\"kated\"value=\"Edycja\">";

mysql_free_result($kat);

echo "</form><div>";

}

echo '<br><br><a href="index.php">Wstecz';

if (isset($_POST['katdel']))

{

$row = $_POST['row'];

$this->kat_del($row);

}

"Usuń" działa, "Dodaj" i "Edytuj" przez action przenoszą mnie do Kat_edit.php, które wygląda tak:



Kod
<h1>Kategorie</h1>

<?php

$katedit = new Katalog;


if (isset($_POST['katadd']))

{

$katedit ->kat_add_ed($row);

exit;

}

if (isset($_POST['kated']))

{

$row = $_POST['row'];

if(!empty($row))

{

$katedit ->kat_add_ed($row);

}

else

{

echo "Proszę wrócić i zaznaczyć link do edycji.";

echo "<br><br><a href=\"index.php\">Wstecz";

}

}

funkcja kat_add_ed() wygląda tak:



Kod
public function kat_add_ed($row)
{

if($_SESSION['uwierz_uzyt'])
{
$this -> lacz_bd();
$katsql = mysql_query("select tytul from katalog where kid = '$row'");
$rowe = mysql_fetch_assoc($katsql);
echo "<form method=\"post\" enctype=\"multipart/form-data\">";?>
<table style="margin: 0 auto;" width="340" cellpadding="8" bgcolor=#cb0000 border="1" frame="box" rules="none">
<tr>
<td>Nazwa:</td>
<td><input size="80" name="tytul" value="<?php echo $rowe['tytul'];?>"></td>
</tr
<tr>
<td colspan=2 align=center>
<input type="button" name="go" value="Wysłanie"></td>
</tr>
</table>
</form>
<?php
mysql_free_result($katsql);
echo "<a href=\"index.php\">Wstecz";
}
if (isset($_POST['go']))
{
$this->kat_sent($row);
}
}

I tu pojawia się problem bo przycisk "Wysłanie" nie działa wogóle. Gdy zamiast "button" ustawię "submit" działa jak action z formularza z którego dane zostały przesłane. Jak to rozwiązać?
Dodam, że chcę uniknąć js.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
okitoki
post
Post #2





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


Na wstępie, twój kod to koszmar smile.gif , jest mało czytelny, i mieszasz html-a z PHP, zły nawyk, przy wielkich projektach się zgubisz we własnym kodzie.

jeżeli chcesz by zadziałał ci przycisk button to dodaj mu zdarzenie onclick="document.nazwaformularza.submit(); ", js nie ominiesz, chyba że zmienisz właściwość input z button na submit

pozdrawiam Paweł


Ten post edytował okitoki 25.04.2009, 08:35:29


--------------------
Go to the top of the page
+Quote Post
meg_eho
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (0%)
-----


Że kod to koszmar-właśnie wczoraj już ktoś mnie uswiadomił. Popracuję nad tym. Co do "submit" to też źle działa (jak już pisałam). A co do html to ogólnie rozdzielam wszędzie gdzie się da. Czasem jednak trzeba tak a nie inaczej. Dzięki za radę.
P.S. Prędzej cały projekt zmienię, niż js użyję. smile.gif
Go to the top of the page
+Quote Post
okitoki
post
Post #4





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


smile.gif twoja wola, a co do htmla ja używam smarty, pozwala na dokładne oddzielenie tego co widać od tego jak działa strona. kod staje się czysty i czytelny, ty widzę że jeszcze nie używasz wcięć na blokach {}, albo tak ci się to skopiowało


jak masz kod
Kod
function .......
{
if .....
{
......
}
......
}

przy dłuższym kodzie się zgubisz. a jak tworzysz wcięcia to wygląda to potem tak :
Kod
function .......
  {
    if .....
     {
      ......
     }
    ......
  }


--------------------
Go to the top of the page
+Quote Post
meg_eho
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (0%)
-----


Kod porządkuje mi eclipse smile.gif ...poprostu źle wkleiłam. Co do Smarty, to najpierw PHP chcę lepiej poznać, uczę się dopiero.

Wracając do mojego problemu, to tak roboczo: pierwszy formularz (nazwę go formularz1) metodą post poprzez action przekazuje zmienne do innego pliku, który sprawdza czy został użyty wcześniej przycisk "Dodaj" czy "Edytuj", dalej przekazuje je spowrotem do pierwszego pliku do określonej funkcji, w której jest formularz2, zaś jego zadaniem jest wysłanie zawartości do bazy. Ale przycisk jako button nie działa wcale zaś jako submit działa jak action z formularza1 ale nie przekazuje zmiennych i wyświetla się pusta strona.
Wiem, wiem...zagmatwane jak mój kod. rolleyes.gif

Mam już podobnie rozwiązane projekty z tą różnicą, że zamiast formularza1 mam a href'y przekazujące zmienne przez _GET i wszystko działa.
No a teraz uparłam się na ten pierwszy formularz, bo chcę mieć listę wyboru radio. Co tu nie działa?
Czytałam coś o zagnierzdżeniu formularzy, ale nie wiem czy to u mnie występuje.

Mój problem polegał na gubieniu zasięgu przez zmienne i złych warunkach if.
Kodu jest dużo (a mój kod to nadal koszmar rolleyes.gif ) więc go nie wstawiam.

Dziękuję za zainteresowanie.
Temat do zamknięcia.

Ten post edytował meg_eho 25.04.2009, 18:53:14
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:53