Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML][MYSQL] Update rekordu po kliknięciu, Aktualizuje już przy odświeżeniu a nie tylko przy kliknięciu
d0m1n1k_
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Napisałem sobie mały kodzik, w którym jak widać chodzi o uaktualnienie "typu" i "hasla".
Hasło jest tworzone przez generator.
Dla przejrzystości, ustawiłem zdefiniowane id.
Problem jest następujący. Nie wiem dlaczego, ale aktualizuje mi rekordy już przy otwarciu strony, jej odświeżeniu oraz kliknięciu.
Chciałbym jednak, żeby aktualizowało tylko po kliknięciu, gdyż na stronie będzie kilka takich buttonów (z różnymi id)
Fajniej by było, gdyby przycisk zamienić na tekst "Akceptuj" na marginesie mówiąc (bo ja nie mam pojęcia jak to zrobić) winksmiley.jpg

Poniżej podaje kod:

CODE
<FORM>
<?php

//Generowanie kodu
$dlugoscCiagu=8;
$znaki=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','w','y','z','1','2','3','4','5','6','7','8','9','0');
do
{
$los=rand(1,33);
$dCd.=$znaki[$los];
$i++;
}
while($i<=$dlugoscCiagu);
//Koniec generowania kodu

?>

<INPUT TYPE="submit" VALUE="Edytuj" onClick="
<?php
include_once ("./db_config.php");
$id = 4;
$wynik = mysql_query("UPDATE partnerzy SET haslo='$dCd', typ=1 WHERE id=$id");
?>
">

</FORM>


Z góry dziękuje za pomoc.


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ajax... Tematyka znana już nawet góralom, więc materiałow znajdziesz sporo.
Czegoś takiego nie robi się w ten sposób.


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





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Mówisz Ajax... szczerze mówiąc tematykę java && ajax chciałbym ominąć szerokim łukiem.
Chciałbym zostać przy czystym kodzie uzywajacym jedynie PHP i HTML (+MySQL).
Tak wiec nie wiesz co tu jest nie tak?!


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat
Mówisz Ajax... szczerze mówiąc tematykę java && ajax chciałbym ominąć szerokim łukiem.

Nie da rady, jeżeli chcesz to zrobić bez przeładowania strony. Jeżeli z przeładowaniem to mniej wiecej tak

Kod
onclick="document.location.href=document.location.href+'?dodaj=1';"


a potem w tym skrypcie
  1. <?php
  2. if(isset($_GET['dodaj']) && $_GET['dodaj'])
  3. {
  4. // to co chcesz zrobic
  5. }
  6. ?>


Cytat
Tak wiec nie wiesz co tu jest nie tak?!

Wiem i powiedziałem (!). Robisz wszystko nie tak.


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





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Jeśli dobrze zrozumiałem to ten formularz przekierowuje spowrotem na tę stronę. I wtedy przycisk, który wcześniej kliknięto ma mieć wartość Akceptuj?! Poraw jeśli źle myśle.

A tak to powinno wyglądać:
  1. <?php
  2. if(isset($_POST['przycisk1'])){
  3. echo'<INPUT TYPE="submit" name="przycisk1" VALUE="Akceptuj" >';
  4. include_once ("./db_config.php");
  5. $id = 4;
  6. $wynik = mysql_query("UPDATE partnerzy SET haslo='$dCd', typ=1 WHERE id=$id");
  7. }
  8. else echo'<INPUT TYPE="submit" name="przycisk1" VALUE="Edytuj" >';
  9. ?>
Oczywiście żeby to działało musisz <FORM> zastąpić <FORM METHOD="POST">

Ten post edytował sadistic_son 19.07.2009, 15:49:18


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
d0m1n1k_
post
Post #6





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Cytat
Fajniej by było, gdyby przycisk zamienić na tekst "Akceptuj"


Chodzi mi oto aby zastąpić brzydki button ładnym tekstem winksmiley.jpg
Button mimo, że użyje class'y nadal jest brzydkim przyciskiem, zaś hiperłącze nałożone na treść zawsze prezentować się będzie znacznie lepiej.


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
sadistic_son
post
Post #7





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


W takim razie formularz wysyłaj za pomocą metody "GET". a Zamiast przycisku użyj <a href="strona.php?przycisk=wartosc>Akceptuj</a>. Teraz mozesz sobie <a> dowolnie obrobić np. CSSem.
  1. <?php
  2. <form method=get>
  3. <a href="strona.php?przycisk=wartosc" style="background:red; text-decoration:underline; letter-spacing:2px;">Akceptuj</a>
  4. if(isset($_POST['przycisk1'])){
  5. include_once ("./db_config.php");
  6. $id = 4;
  7. $wynik = mysql_query("UPDATE partnerzy SET haslo='$dCd', typ=1 WHERE id=$id");
  8. }
  9. ?>


Ten post edytował sadistic_son 19.07.2009, 15:56:17


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
ayeo
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam

Kod
input[type='submit']
{
padding: 5px;
border: none;
background: grey;
color: black;
}


Pozdrawiam!

PS Nie działa to na IE6 (trzeba dodać dodatkową klasę)


--------------------
Go to the top of the page
+Quote Post
d0m1n1k_
post
Post #9





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Cytat(sadistic_son @ 19.07.2009, 16:43:36 ) *
Jeśli dobrze zrozumiałem to ten formularz przekierowuje spowrotem na tę stronę. I wtedy przycisk, który wcześniej kliknięto ma mieć wartość Akceptuj?! Poraw jeśli źle myśle.

A tak to powinno wyglądać:
  1. <?php
  2. if(isset($_POST['przycisk1'])){
  3. echo'<INPUT TYPE="submit" name="przycisk1" VALUE="Akceptuj" >';
  4. include_once ("./db_config.php");
  5. $id = 4;
  6. $wynik = mysql_query("UPDATE partnerzy SET haslo='$dCd', typ=1 WHERE id=$id");
  7. }
  8. else echo'<INPUT TYPE="submit" name="przycisk1" VALUE="Edytuj" >';
  9. ?>
Oczywiście żeby to działało musisz <FORM> zastąpić <FORM METHOD="POST">


Dzięki wielkie. Zostanę chyba przy tym (fajny efekt ze zmianą value przycisku nie wpadł bym na to winksmiley.jpg )
Pozdrawiam


--------------------
Prywatna koncepcja pasji - SprawdzAuto.info
Go to the top of the page
+Quote Post
sadistic_son
post
Post #10





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Spoko, ciesze sie ze pomoglem ale mozna to zrobic jeszcze troszke inaczej aby zaoszczedzic nieco kodu:
  1. <?php
  2. if(isset($_POST['przycisk1'])){
  3. $value='Akceptuj';
  4. include_once ("./db_config.php");
  5. $id = 4;
  6. $wynik = mysql_query("UPDATE partnerzy SET haslo='$dCd', typ=1 WHERE id=$id");
  7. }
  8. else {$value='edytuj';}
  9. echo '<INPUT TYPE="submit" name="przycisk1" VALUE="'.$value.'" >';
  10. ?>


Ten post edytował sadistic_son 19.07.2009, 16:20:12


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
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: 19.08.2025 - 05:29