Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] [HTML] [PHP] Przekazywanie elementu src obrazka przez POST
Forum PHP.pl > Forum > Przedszkole
Neymar11
Witam!
Chciałbym wykonać funkcję która przy podsumowaniu formularza
pobierałaby element src="" z obrazka i przekazywala go przez pole hidden dalej
przez POST do następnego skryptu.

Narazie tam waliduję captche, która jest generowana na przykladzie unikalnych cyferek
z URL. Jej include wyglada tak:
  1. $inc = 'captcha.php?rand='.rand(100,10000);
  2. include($inc);


Skrypt generuje na podstawie cyferek captche i wyswietla ja.

I moje pytanie brzmi:

Jak za pomoca JS przekazac do HTML element obrazka SRC i przez POST go przekazać do PHP?

Jeżeli pomogą moje fragmenty kodu to proszę:
JS - Wadliwa tylko funkcja getCaptchaID();
CODE
function refC(){
var img = document.images['captchaImg'];
img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
function getCaptchaID() {
var img = document.images['captchaImg'];
var inp = document.getElementByID['captcha_id'];
var id = img.src;
inp.value = id;
}


HTML
CODE
<form method="post" action="register.php" onsubmit=java script: getCaptchaID();"><center>
<div class="input-group input-group-second input-group-sm">
<span class="input-group-addon" id="addon" style="width: 50px;"><i class="fa fa-user"></i></span>
<input type="text" class="form-control" placeholder="Nazwa użytkownika" aria-describedby="addon" style="width: 250px;" name="nickname">
</div>
<div class="input-group input-group-sm">
<span class="input-group-addon" id="addon" style="width: 50px;"><i class="fa fa-envelope"></i></span>
<input type="email" class="form-control" placeholder="Adres email użytkownika" aria-describedby="addon" style="width: 250px;" name="emailaddr">
</div><br />
<div class="input-group input-group-sm">
<span class="input-group-addon" id="addon" style="width: 50px;"><i class="fa fa-key"></i></span>
<input type="password" class="form-control" placeholder="Hasło użytkownika" aria-describedby="addon" style="width: 250px;" name="password">
</div>
<div class="input-group input-group-sm">
<span class="input-group-addon" id="addon" style="width: 50px;"><i class="fa fa-key"></i><i class="fa fa-check" style="font-size: 80%;"></i></span>
<input type="password" class="form-control" placeholder="Powtórz powyższe hasło" aria-describedby="addon" style="width: 250px;" name="passwordrepeat">
</div><br />
<img src="captcha.php?rand=<?php echo rand();?>" id="captchaImg" />
<div class="input-group input-group-sm">
<span class="input-group-addon" id="addon" style="width: 50px;"><a href="java script: refC();"><i class="fa fa-refresh"></i></a></span>
<input type="text" class="form-control" placeholder="Przepisz kod podany powyżej" aria-describedby="addon" style="width: 250px;" name="captchacode">
<input type="hidden" name="captcha_code" value="<?php echo $_SESSION['captcha_code']; ?>">
<input type="hidden" name="captcha_id" id="captcha_id" value="">
</div></center>
</div>
<div class="modal-footer">
<center>
<input type="reset" class="btn btn-primary" value="Wyczyść" />
<input type="submit" class="btn btn-success" value="Zarejestruj się" />
</center>
</form>


PHP - register.php - Nie rejestruje tylko pokazuje zmienna :3
CODE

<pre>
<?php var_dump($_POST); ?>
</pre>


A wyświetla się to:

array(7) {
["nickname"]=>
string(7) "xxxxxxx"
["emailaddr"]=>
string(19) "xxxxxxxxx@xxxxx.xxx"
["password"]=>
string(10) "xxxxxxxxxx"
["passwordrepeat"]=>
string(10) "xxxxxxxxxx"
["captchacode"]=>
string(6) "xxxxxx"
["captcha_code"]=>
string(6) "xxxxxx"
["captcha_id"]=>
string(0) ""
}

Proszę o pomoc w poprawieniu kodu JS ewentualnie HTML :3
Z góry dziękuje
kafowi
Funkcja jest wadliwa, a konsole nie raczyłeś sprawdzić co wypluwa?
  1. document.getElementByID.
Neymar11
@kafowi
Nie mam mozliwosci sprawdzic na Androidzie co konsola mówi... W firefoxie ani na chrome nie ma takiej opcji
Chcialem uzyskac pomoc, po to zalozylem ten temat.

A z twojego fragmentu wypowiedzi, a dokladniej:
Cytat
a konsole nie raczyłeś sprawdzić do wypluwa?

Widać traktowanie jak bym był profesjonalistą w JS...

Jestem niestety zielony, tylko robię strone...

Gdybym umiał JS to bym nie pisał w Przedszkolu...

A więc - mogę uzyskać pomoc?
kafowi
Cytat(Neymar11 @ 10.07.2015, 16:29:06 ) *
@kafowi
Nie mam mozliwosci sprawdzic na Androidzie co konsola mówi... W firefoxie ani na chrome nie ma takiej opcji
Chcialem uzyskac pomoc, po to zalozylem ten temat.

A z twojego fragmentu wypowiedzi, a dokladniej:

Widać traktowanie jak bym był profesjonalistą w JS...

Jestem niestety zielony, tylko robię strone...

Gdybym umiał JS to bym nie pisał w Przedszkolu...

A więc - mogę uzyskać pomoc?

Napisałem.

document.getElementByID ---> poprawna forma: document.getElementById

Dodatkowo używasz nowych znaczników HTML5, a zarazem przestarzałego <center>.
Neymar11
Dobra @kafowi ... Olac znaczniki.
Poprawilem skrypt i dziala jako tako ale wstawilem ReCaptche.
Dziekuje za pomoc, mozna zamknac
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.