[PHP] Dziwny problem z formularzem - Wersja do druku
+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [PHP] Dziwny problem z formularzem (/thread-php-dziwny-problem-z-formularzem)
|
[PHP] Dziwny problem z formularzem - Extragracz - 14-10-2012
Hej, proszę Was o pomoc, gdyż spotkałem się z dziwnym problemem, zapewne coś w kodzie przeoczyłem i teraz to nie chce działać Od razy mówię, że pisałem już kilka formularzy i wszystkie działały, nie wiem co z tym.
Znajduje się on na http://forum.mentlegen.pl/mg/adminagreement.php
Oto kod strony:
Kod: <body>
<head>
<title>Kontrakt Administracyjny Mentlegen {24/7}</title>
<link rel="stylesheet" type="text/css" href="../resources/style.css"/>
</head>
<div id="content">
<center><a href="../index.php"><img src="../images/style-tf2/mentlegen.png" class="logo"/></a></center>
<? include('../resources/navbar.php') ?>
<?
define("IN_MYBB", 1);
require_once('../global.php');
mysql_connect('localhost', '...', '...') or die ('Nie można było połązyć się z MySQL');
mysql_select_db('...') or die('Nie udało się wybrać bazy danych');
$name = $mybb->user['username'];
$podpis = $_POST['podpis'];
$podpisw = "Twoje imię i nazwisko";
$steamid = $_POST['steamid'];
$steamidw = "Twój SteamID";
$zgoda = $_POST['zgoda'];
if ($mybb->user['fid5'] != 'Tak' ) {
echo '<font size="4"><b>Nie masz dostępu do tej strony !</b></font></br></br><input type="button" value="Wróć" onClick="history.go(-1); return true;">';
}
else {
if (mysql_num_rows(mysql_query("SELECT admin FROM agreement WHERE admin = '$name'"))){
echo '<font size="4"><b>Już podpisałeś tą umowę !</b></font></br></br><input type="button" value="Wróć" onClick="history.go(-1); return true;">';
}
else {
echo '
<font size="5"><b>Kontrakt Administratorski</b></font></br></br></br></br>
<i>Przedstawiony poniżej kontrakt jest umową pomiędzy użytkownikiem o nazwie <b>'.$name.'</b> z serwerem <b>Mentlegen {24/7}</b>.</br>
Podpisując tą umowę oświadczasz, że jesteś w pełni świadomy obowiązków i konsekwencji płynących z opłacenia i użytkowania rangi oraz oznajmiasz,</br> iż zapoznałeś się z <a href="http://forum.mentlegen.pl/showthread.php?tid=1" title="Regulamin Mentlegen{24/7}">Regulaminem Forum</a> i <a href="http://forum.mentlegen.pl/showthread.php?tid=15" title="Zasady opłat za rangę">Zasadami Opłat</a>, informując przy tym, że postanawiasz ich przestrzegać.</br>Rozumiesz także, iż HeadAdmin jako reprezentant serwera może zerwać z tobą umowę w dowolnej chwili w przypadku złamania jednej z zasad, bez zwracania opłaty.</br></br>
<table align="center" style="color: black;"><form method="post"><tr><td>Imię i nazwisko: </td><td><input type="text" name="podpis" style=" color: 4F4F4F; width: 130px" onfocus="if(this.value==this.defaultValue)this.value=\'\';" onblur="if(this.value==\'\')this.value=this.defaultValue;" value="Twoje imię i nazwisko"></td></tr>
<tr><td>Twój SteamID: </td><td><input type="text" name="steamid" style=" color: 4F4F4F; width: 130px" onfocus="if(this.value==this.defaultValue)this.value=\'\';" onblur="if(this.value==\'\')this.value=this.defaultValue;" value="Twój SteamID"></td></tr></table>
Informuję, iż zapoznałem się ze wszystkimi regulaminami i jestem świadom obowiązków i konsekwencji płynących z mojej rangi <input type="checkbox" name="zgoda"></br>
<input type="submit" name"podpisz" value="Podpisz"></form>';
}
}
?>
<?
$name = $mybb->user['username'];
$podpis = $_POST['podpis'];
$podpisw = "Twoje imię i nazwisko";
$steamid = $_POST['steamid'];
$steamidw = "Twój SteamID";
$zgoda = $_POST['zgoda'];
if (!empty($_POST['podpisz'])) {
if ($podpis == $podpisw && $steamid == $steamidw && empty($zgoda)) {
echo 'Nie wypełniłeś kontraktu !!!</br><input type="button" value="Wróć" onClick="history.go(-1); return true;">';
}
elseif ($podpis == $podpisw && $steamid != $steamidw) {
echo 'Nie wypełniłeś imienia i nazwiska !!!</br><input type="button" value="Wróć" onClick="history.go(-1); return true;">';
}
elseif ($podpis != $podpisw && $steamid == $steamidw) {
echo 'Nie podałeś swojego SteamID !!!</br><input type="button" value="Wróć" onClick="history.go(-1); return true;">';
}
elseif ($podpis != $podpisw && $steamid != $steamidw && empty($zgoda)) {
echo 'Nie potwierdziłeś swojego zapoznania się z zasadami !!!</br><input type="button" value="Wróć" onClick="history.go(-1); return true;">';
}
elseif ($podpis != $podpisw && $steamid != $steamidw && !empty($zgoda)) {
$message = "Drogi HeadAdminie !!!\r\nInformujemy, że użytkownik <b> $name podpisał właśnie kontrakt z serwerem Mentlegen {24/7}.\r\nJego dane są następujące:\r\nImię i nazwisko: $podpis\r\nSteamID: $steamid\r\n";
$header = "From: [email protected]\r\nContent-type: text/html; charset=utf-8";
@mail("[email protected]","Kontrakt Mentlegen {24/7}","$message","$header")
or die('Wystąpił problem, proszę skontaktować się z HeadAdminem');
$query = "INSERT INTO agreement (admin) VALUES ('$name')";
mysql_query($query);
}
}
?>
</div>
</body> W przypadku, gdy usunę sprawdzanie, czy jest ustawiony $_POST['podpisz'], to formularz działa, jeżeli jednak to zostawię (a musi być, bo inaczej od razu te błędy wywala) cały formularz nie reaguje (mogę klikać co chcę, strona się odświeża, ale nie wyświetlają się errory, nie wysyła emaila, nie wysyła do mysql). Macie jakieś pomysły ?
RE: [PHP] Dziwny problem z formularzem - webd.jk - 14-10-2012
Witam,
formularz nie przekazuje do skryptu wartości pola submit ponieważ przed name nie masz "=".
RE: [PHP] Dziwny problem z formularzem - Extragracz - 14-10-2012
(14-10-2012, 14:16)webd.jk napisał(a): Witam,
formularz nie przekazuje do skryptu wartości pola submit ponieważ przed name nie masz "=". Matko, 5 razy przeglądałem końcówkę, bo byłem pewny, że to właśnie tam leży błąd, a tego nie zauważyłem. Jesteś moim wybawcą Dzięki ! ;D
|