Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][js]Połączony formularz
Forum PHP.pl > Forum > Przedszkole
Flapper
Jo!
Mam taki skrypt JS:

Kod
function dodaj(atr) {
if (pkt > 0) {
pkt -= 1;
switch (atr) {
case 'str' :
    if(str >=18 ) {
        alert('Nie mozesz bardziej zwiekszyc tego atrybutu!');
        return;
    }

    str += 1;
    document.getElementById(atr).innerHTML = str;
break;
}
document.getElementById('pkt').innerHTML = pkt;
}
else
{
    alert('Nie masz dosc punktow');
}
}

document.write("Pozostałe punkty: <div id=\"pkt\">25</div>")
document.write("Siła: <div id=\"str\">8</div> <input type=\"button\" value=\"-\" onclick=\"odejmij('str')\"><input type=\"button\" value=\"+\" onclick=\"dodaj('str')\"><br>")

To jest kawałek kodu Odpowiedzialny za tylko 1 atrybut z 6.
Problem polega na tym że formularz rejestracyjny mam napisany w taki sposób.
PHP:
  1. <?php
  2. $db -> Execute("INSERT INTO aktywacja (user, email, pass, rasa, klasa, refs, aktyw, data, ip, lang, str) VALUES(".$strUser.", ".$strEmail.", '".$strPass."', '".$_POST['rasa']."', '".$_POST['klasa']."', ".$ref.", ".$aktw.", ".$strDate." , '".$ip."' ,'".$_POST['lang']."','".$_POST['str']."')") or die($db -> ErrorMsg());
  3. ?>

TPL:
  1. <?php
  2. <form method="post" action="register.php?action=register">
  3.  
  4. <div class="forms2">{$Nick} <input type="text" name="user" /></div>
  5. <div class="forms2">{$Email}: <input type="text" name="email" /></div>
  6. <div class="forms2">{$Confemail} <input type="text" name="vemail" /></div>
  7. <div class="forms2">{$Password}: <input type="password" name="pass" /></div>
  8. <div class="forms4"><em>Has&#313;‚o musi skĹ‚adać siÄ™ z co najmniej 5 znakĂłw.</em></div>
  9. <div class="forms2">Wybierz rase: <select name="rasa">
  10. <option>Cz&#313;‚owiek</option>
  11. <option>Krasnolud</option>
  12. <option>Wysoki Elf</option>
  13. <option>Le&#313;›ny Elf</option>
  14. <option>Mroczny Elf</option>
  15. <option>Nizio&#313;‚ek</option>
  16. </select></div>
  17. <div class="forms2">Wybierz klase: <select name="klasa">
  18. <option>Wojownik</option>
  19. <option>Mag</option>
  20. <option>Barbarzy&#313;„ca</option>
  21. <option>Rzemie&#313;›lnik</option>
  22. <option>Z&#313;‚odziej</option>
  23. </select></div>
  24. <div class="forms2">
  25. <script language="JavaScript" src="atrybuty.js">
  26. </script>
  27.  
  28. </div>
  29. <div class="forms3">{$Referralid} <input type="text" name="ref" readonly="readonly" value="{$Referal}" /></div>
  30. <div class="forms4"><em>{$Ifnoid}</em></div>
  31. <div class="forms5">{$Tlang} <select name="lang">
  32. {section name=register loop=$Lang}
  33. <option value="{$Lang[register]}">{$Lang[register]}</option>
  34. {/section}
  35. </select></div>
  36. <div class="text2">{$Rule1}</div>
  37. <div class="forms2"><input type="submit" value="{$Register}" /></div>
  38. <div class="text3">{$Description3}</div>
  39. </form>
  40. ?>

I teraz mam problem jak zapisać wartość str przy rejestracji do tabeli aktywacja? sad.gif
--------

edit.
nie wstawiaj takich długaśnych skryptów, i tak nikt nie przeczyta.
Skoncentruj się na fragmentach które powodują problem
revyag
mrjozo
  1. <?php
  2. <form method="post" action="register.php?action=register">
  3. ?>

zamień na:
  1. <?php
  2. <form method="post" id="register" action="register.php?action=register">
  3. ?>


  1. document.getElementById(atr).innerHTML = str;


zamień na:

  1. document.getElementById('register').strong.value = str;



mała rada: nie używaj w skrypcie document.write tylko od razu wyswietl kod w php, w js miej tylko potrzbne funkcje i dołącz go w sekcji head
  1. <div class="forms2">
  2. Siła:<input type="button" id="strong" name="strong" value="8"><input type="button" value="-" onclick="java script:odejmij('str')"><input type="button" value="+" onclick="dodaj('str')">
  3. Zrecznosc:<input type="button" id="zrecznosc" name="zrecznosc" value="8"><input type="button" value="-" onclick="java script:odejmij('str')"><input type="button" value="+" onclick="dodaj('str')">
  4. </div>


Po przeslaniu wartosci powinienes miec w zmiennych:
  1. <?php
  2. $_POST['strong'];
  3. $_POST['zrecznosc'];
  4. ?>
Flapper
Jednak cosik nie działa! sad.gif Niby jest ale w bazie zapisuje się zawsze wartość 0 sad.gif...
mrjozo
a w zmiennych

  1. <?php
  2. $_POST['strong'];
  3. $_POST['zrecznosc'];
  4. ?>


masz jakieś wartości? sprawdż:

  1. <?php
  2. echo $_POST['strong'];
  3. echo $_POST['zrecznosc'];
  4. ?>
Flapper
Nic poprostu puste... żadnych wartości..
mrjozo
  1. <div class="forms2">
  2. Siła:<input type="text" id="strong" name="strong" readonly="readonly" value="8"><input type="button" value="-" onclick="java script:odejmij('str')"><input type="button" value="+" onclick="dodaj('str')">
  3. Zrecznosc:<input type="text" id="zrecznosc" name="zrecznosc" readonly="readonly" value="8"><input type="button" value="-" onclick="java script:odejmij('str')"><input type="button" value="+" onclick="dodaj('str')">
  4. </div>
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.