Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML/PHP]Przekierowanie po wypełnieniu formularza
Forum PHP.pl > Forum > Przedszkole
Morfi777
Witam,

Tak jak w temacię. Chcę aby po kliknięciu buttona "submit" przekierowało użytkownika na np. http://google.com


Pozdrawiam
zakręcony
Kod
<form action="http://www.google.com" method="post">
wert1
dajesz to gdzies w skrypcie

  1. <?php
  2. if (isset($_POST['submitted'])) { 
  3. header("Location:http://google.pl");
  4. exit();
  5. }
  6. ?>



a to w formularzu
  1. <input type="hidden" name="submitted" value="TRUE" />
ShadowD
I jedno i drugie rozwiązanie jest złe...

Proszę:


  1. <input type='button' value='nazwa' onClick=self.location.href=('http://www.google.pl')>
smietek
Albo inaczej:
  1. <?php
  2. <input type="button" value="Google" onclick="javascript:window.location.replace('http://www.google.pl')">
  3. ?>
Morfi777
Ad. rozwiązania wert1 to pokazuje się błąd: "Warning: Cannot modify header information" - chodzi o to, ze header musi być przed wszystkim innym (o ile dobrze pamiętam

Ad. ShadowD i smietek
Nie za bardzo rozumiem, to ma być oddzielny button czy to jest button sumbit - który zatwierdza formularz

EDIT: nie mogę edytować action, ponieważ mam action="admin.php?conf='.$_GET["conf"].'" - więc nie mogę tego zmienić winksmiley.jpg
smietek
Nie musisz dawać submita jeżeli nie musisz, możesz dać po prostu to co podaliśmy, lub w submicie możesz dodać te "onClick" i powinno działać. Ten button działa nawet jeżeli nie jest objęty znacznikiem <form>.
Morfi777
Przykro mi, nie działa ^^
Button oczywiście wypełnia formularz ale dalej zostaje na tej samej stronie.

Moze dam kawałek kodu:
  1. <?php
  2. echo 'Hasło do skasowania numeru :
  3. <br />
  4. <form action="admin.php?conf='.$_GET["conf"].'" method="post" name="2">
  5. <input type="password" name="confx" />
  6. &nbsp;&nbsp;
  7. <input type="button" value="Google" onclick="javascript:window.location.replace('http://www.google.pl')">
  8. </form>'
  9. ?>
ShadowD
Ahh powiem tak użyj:

  1. <input type='button' value='nazwa' onClick=self.location.href=('http://www.google.pl')>


To jest normalny przycisk i nie wysyła formularza tylko ptzenosi cie na inną stronę...

Ps. Uszczęśliw mnie ;p
Morfi777
Cytat(ShadowD @ 29.03.2008, 14:00:58 ) *
To jest normalny przycisk i nie wysyła formularza tylko ptzenosi cie na inną stronę...


Ale ja nie potrzebuje przycisku tylko do przekierowania tylko przycisku który wypełni formularz I przekieruje na www
ShadowD
To stwórz normalny formularz z:

  1. <form action='http://www.google.pl' method='POST'>
  2.  
  3. <b>Nick:</b>
  4.  
  5. <input id='pole' style='border:0px; width:70px;' type='text' name='logowanie[nick]' value='Nick'>
  6.  
  7. <b>Haslo:</b>
  8.  
  9. <input id='pole' style='border:0px; width:70px;' type='password' name='logowanie[haslo]' value='Hasło'>
  10.  
  11. <input style='padding:0px' type='submit' >
  12.  
  13. </form>
Morfi777
ShadowD Czytaj co piszę (w 2 postach o tym pisałem). Nie mogę zmienić "action" bo jest tam wartość która musi być przy zatwierdzaniu formularza.
ShadowD
Napisz tak jak kolega @Wert1 z tym że napisz na porządku skrypty "ob_start();" i będzie działało jest to funkcje która pozwala korzystać z nagłówków nie tylko w pierwszej części skryptu ale ona musi być na początku...

Innego wyjścia nie ma...
Morfi777
Cytat(ShadowD @ 29.03.2008, 14:30:17 ) *
Napisz tak jak kolega @Wert1 z tym że napisz na porządku skrypty "ob_start();" i będzie działało jest to funkcje która pozwala korzystać z nagłówków nie tylko w pierwszej części skryptu ale ona musi być na początku...

Innego wyjścia nie ma...


Pochwały dla was, tyleże tak czy inaczej nie osiągnąłem tego co chciałem. Może napiszę to już w tym temacie winksmiley.jpg

  1. <?php
  2. if($_GET["conf"]){
  3. echo 'Hasło do skasowania:
  4. <br />
  5. <form action="admin.php?conf='.$_GET["conf"].'" method="post" name="2">
  6. <input type="password" name="confx" />
  7. &nbsp;&nbsp;
  8. <input type="hidden" name="submitted" value="TRUE" />
  9. <input type="submit" value="Kill">
  10. </form>';
  11. ?>

  1. <?php
  2. if($_POST["confx"]=='test'){
  3. $sqlx="DELETE from punkty where id='".$_GET["conf"]."'";
  4. mysql_query ($sqlx) or die ("złe pytanie");
  5. ?>


Problem polega na tym, że po zatwierdzeniu formularza drugi kod szuka tej wartosci "conf" i nie może jej znaleźć przez co id="null" i nie kasuje wpisu w tabeli.
ShadowD
$_GET["conf"] musi zawierać true bądź false inaczej będzie błąd napisz dokładnie o co ci chodzi co chcesz uzyskać...
Mlodycompany
a nie lepiej <a href="http://google.pl><input type="submit" value="Google"></a>
ShadowD
Nie zadziała ponieważ <a> będzie wyższą warstwą i ten bottom nie zadziała...
Morfi777
Chodzi to, że jest np. 5 rekordów:

ID, Imię, Nazwisko, Adres, Email
Id jest oczywiście Auto increment.

Te 4 rekody Imię - Email są umieszczone w tabelce na www i obok każdej linijki danych jest opcja "usuń".

Po kliknięciu na "usuń" pojawia się (dotąd niewidoczne) miejsce na wpisanie hasła do skasowania.

Tu mamy rekord ID dzięki któremu skrypt będzie wiedział który wpis ma usunąć
  1. <a href="admin.php?conf='.$rekord["id"].'">usun</a>


Po kliknięciu na usuń - wysuwa się ten skrypt ponieważ pojawiła się wartość "conf".
  1. <?php
  2. if($_GET["conf"]){
  3. echo 'Hasło do skasowania:
  4. <br />
  5. <form action="admin.php?conf='.$_GET["conf"].'" method="post" name="2">
  6. <input type="password" name="confx" />
  7. &nbsp;&nbsp;
  8. <input type="hidden" name="submitted" value="TRUE" />
  9. <input type="submit" value="Kill">
  10. </form>';
  11. }
  12. ?>


W tym momencie załóżmy, że id=17 to adres bedzie http://mojastrona.pl/admin.php?conf=17

Ostatnia faza
  1. <?php
  2. if($_POST["confx"]=='test'){
  3. $sqlx="DELETE from punkty where id='".$_GET["conf"]."'";
  4. mysql_query ($sqlx) or die ("złe pytanie");
  5. }
  6. ?>



Po wpisaniu poprawnego hasła rekordy zostaną usunięte ALE nie chodzi o to, że w adresie zostaje to "?conf=17" i w dalszym ciągu jest to okienko do wpisania hasła aby skasować i muszę recznie z adresu kasować to "?conf=17" i chciałbym, aby po zatwierdzeniu on usunął wpisy i przekierował na http://mojastrona.pl/admin.php - bez conf=ID
wert1
podaj cały admin.php a ja ci go zrobie
Morfi777
to nie jest rozwiązanie problemu

Problem SOLVED wystarczyło dodać:
  1. <?php
  2. echo '<script language="javascript"> location.href="admin.php"</script>';
  3. ?>
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.