Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz - przesylanie danych! trudne :)
Forum PHP.pl > Forum > Przedszkole
SALVIA
Dla nooba trudne. Wszystko zawsze wynajduje w necie a tu pustka.

Problem wyglada nastepujaco:
Chce zrobic "logowanie do innej strony" czyli np. na swojej stronie moge zalogowac sie do kazdego forum - oczywiscie do kazdego osobny skrypt logowania. Do rzeczy:

Mam jakis formularz: (wazne jest miejsce hashy "########" )
  1. <form action="#############" method="post" name="loginFormElement">
  2. <div class="form-login">
  3. <label>Nazwa użytkownika</label>
  4. <div class="input">
  5. <input type="text" value="" id="name" name="username" maxlength="30" />
  6. </div>
  7.  
  8. <label>Hasło</label>
  9. <div class="input">
  10. <input type="password" value="" name="password" maxlength="32"/>
  11. </div>
  12.  
  13. <div>
  14. <input type="submit" class="button btn-login" onclick="document.forms['loginFormElement'].submit();return false;" value="Login" />
  15. </div>
  16. </div>
  17. </form>


i do tego chce zrobic takie cos :

a ) w miejsce "###########" daje jakies "form.php" a DOPIERO W TYM FORM wstawiam jakis skrypcik, ktory mi wchodzi na strone logowania danej strony np. "forum.wp.pl/user/login" <<<< jak wejsc na ta strone symulujac "submit" poprzedniego formularza? czyli dajac dane username i password ($_POST['username'] i $_POST['password']) -- czyli normalnie w orginalnym formularzu w miejscu "#######" bylo "forum.wp.pl/user/login"

b ) w miejsce "###########" daje orginalne "forum.wp.pl/user/login" - formularz jest poprawnie wysylany, ale zeby mial dwie akcje - np. otwiera z tymi samymi parametrami dwie rozne strony - jedna moze byc skryptem

z gory OGROMNE dzieki za pomoc, bo o ile zawsze wszystko w googlu znajduje, tak teraz zadna kombinacja slow kluczowych nie dala mi dobrego wyniku > prosilbym o konkretne przyklady o ile to mozliwe
peace!
SALVIA
  1. <?php
  2. function do_post_request($url, $data, $optional_headers = null)
  3. {
  4. $params = array('http' => array(
  5. 'method' => 'POST',
  6. 'content' => $data
  7. ));
  8. if ($optional_headers!== null) {
  9. $params['http']['header'] = $optional_headers;
  10. }
  11. $ctx = stream_context_create($params);
  12. $fp = @fopen($url, 'rb', false, $ctx);
  13. if (!$fp) {
  14. throw new Exception("Problem with $url, $php_errormsg");
  15. }
  16. $response = @stream_get_contents($fp);
  17. if ($response === false) {
  18. throw new Exception("Problem reading data from $url, $php_errormsg");
  19. }
  20. return $response;
  21. }
  22.  
  23. do_post_request('http://forum.wp.pl/user/login/',$_POST);
  24. ?>


slyszalem na TYM FORUM slyszalem ze to pomoze, mi cos jednak nie dziala - dlatego prosze o przyklad z tymi dwiema zmiennymi username i password (czy jak kto woli $_POST['username'] i $_POST['password']) albo niech poprawi moj przyklad - nienawidze isc na latwizne ale borykam sie z tym X godzin, na wszystkie mozliwe sposoby, od ONSUBMIT po ustawianie przycisku jako link w javascript <a href=java script:http://................<input... />/> dlatego tym razem prosze juz o sprawdzony, dzialajacy przyklad, a nie gdybania "moze to zadziala" - juz takich "moze zadziala" sprawdzilem w ogromnej ilosci...

czekam na pomoc, z gory dzieki
peace!
SALVIA
http://www.javascript-coder.com/javascript...rm-submit.phtml

znalazlem to ale nie pomoglo mi bo - po paru probach stwierdzam ze nie umiem POBRAC WARTOSCI $_POST['username'] (i password) zamiast rubryki input <jakos chaotycznie staralem sie w pliku php ustawic cos takiego:

<input value="<?php $login ?>".... > gdzie wyzej w innym skrypcie php bylo $login = $_POST['username']

albo

<input value="<?php $_POST['username'] ?>" .... >

a inaczej nie umiem przekazac tych wartosci do nastepnej akcji formularza (<form action="...">)



nawet jakbym umial przekazac - czytaj: ktos mi pomoze - to pozostaje kwestia automatycznego SUBMIT'u - bez klikania w link.... da rade cos takiego w ogole zrobic? ja staralem sie z javascriptem skminic cos takiego:

  1. <form name="..." action="....">
  2. <input ....>
  3. <input ....>
  4. <?php
  5. submitform()
  6. ?>
  7. </form>
  8. <script type="text/javascript">
  9. function submitform()
  10. {
  11. document.myform.submit();
  12. }
  13. </script>


nawet nie pamietam czy to dzialalo, ale jest 6:22 i mam tak zlasowany mozg ze nawet tego nie chce mi sie sprawdzac, jutro dam znac czy to dziala....

tak wiec pozostaje kwestia przekazania zmiennych....

znalazlem jeszcze jakies klasy do przekazywania:
http://www.phpclasses.org/package/1119-PHP...TTP-server.html
i
http://www.phpclasses.org/package/1119-PHP...TTP-server.html

podobno dzieki nim to zrobie, ale ja juz nie dam rady, licze na wielkodusznosc kogos dla kogo bedzie to oczywiste, albo bede sie musial sam z tym borykac jak sie przespie.
peace!
SALVIA
Drugi link do klasy to http://www.phpclasses.org/browse/file/16139.html

W tej cHTTP wydaje mi sie ze brakuje na koncu "?>" - czy dodalem czy nie - cos nie dziala, pozostaje w pliku php - nie przenosi na podana strone, a klasy uzylem zgodnie z przykladem tak:

  1. <?
  2. include("cHTTP.php");
  3.  
  4. $http = new clsHTTP();
  5.  
  6. // to make posts
  7.  
  8. // clear all fields
  9. $http->clearFields();
  10.  
  11. $http->addField ( 'username' , '$login' ); //tu tez probowalem dac '$_POST['username']' no ale oczywiscie wykrzaczalo
  12. $http->addField ( 'password' , '$haslo' ); //j.w.
  13.  
  14. $http->postPage("http://www.forum.wp.pl/user/login"); //strona do ktorej nie przenosi.... chyba jestem uposledzony..
  15.  
  16. // get all the http headers
  17. print($http->getHeaders()); //nie wiem, "odcytatowalem" to, niech dziala, jakiekolwiek headery pobiera (chyba ze nalezy dodac jakis swoj np. header("Location : http://... "); ? jak tak to rozumiem ze gdzies w tym skrypcie?
  18.  
  19. // get all content of downloaded file
  20. print($http->getContent());
  21.  
  22. ?>


a co do javascriptu co dalem we wczesniejszym poscie - narazie nie mam co sprawdzac jak nie mam przekazania zmiennych.. ale chyba nie dzialalo, nie pamietam

HELP!
SALVIA
Za trudne? blinksmiley.gif

damn, myslalem ze nie trzeba byc jakims mega-lotnym z php zeby to zrobic - sam X razy liczylem ze juz sie udalo - a tu widze ze pustka, nikt nie wie jak to zrobic....
achill
jezeli masz nazwy pol logowania i submita oraz nazwe actiona aby sie zalogowac na ich forum to mozesz sprobowac czegos takiego:

wybierasz z listy na jakie forum chcesz sie zalogować wtedy tez pobiera liste zmiennych i podstawia do twojego formularza te dane ktore sa wykorzystywane do logownia na innych forach. no i w miejsce ###### wstawia odpowiedni action dla konkretnego forum
problem sie pojawia gdy z formularzem sa wysylane jakies hidden'y - watpie zeby administratorzy byli sklonni ci udostepnic takie informacje ale zawsze mozesz sprobowac.


zreszta sciagnij sobie jakies fora w php i pogrzeb w nich - zobacz jak wyglada w nich system logowania i probuj - ale wiedz ze to raczej na granicy dobrych obyczajow - i zawsze lepiej dogadac sprawe z administratorami.


jesli tak nie da rady to moim zdaniem nie do zrobienia ( jak juz wspomnialem musialbys znać dokładnie cały system logowania u nich (a przynjamniej ich skrypty logowania i ten do ktorego sie odwoluje action=' ') blinksmiley.gif)


:twisted:innym wyjsciem jest proba przejęcia sesji - ale nie trzeba chyba tlumaczyc ze to nie jest najlepsze wyjscie

inaczej wszystko co sie da osiagnąc to wstawienie w odpowiednie pola odpowiedniej wartosci i sfokusowanie na submicie - nie kilkniesz submita za kogos, zwlaszcza jak nie wiesz co tak naprawde sie dzieje z formularzem. sciana.gif


mogę się mylić, ale moim zdaniem nie ma takiej mozliwości aby nie wkurzając administratora dostal.gif albo przynjamniej nie proszać go o pomoc stworzyc takie rozwiązania.
SALVIA
spojrz na date - 2 tyg bym nie oczekiwal na odp... mimo wszystko dzieki za inicjatywe! zadzialac mi zadzialalo W KONCU, ale po pierwszym banie godziny meczenia poszly sie kochac sciana.gif sciana.gif sciana.gif (widocznie jakies ciasteczka nie zagraly <?>)

temat do zamkniecia albo do kosza

peace!
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.