28. maj 2003 - 17:51
Der er
28 kommentarer
Lidt hjælp med form
Jeg er igang med et snydekodesystem. Men når man vil godkende en snydekode skal man vælge et bogstav fra en select men hvordan får jeg den til at sende det valgte bogstav med når de har accepteret det. Kode: <? session_start(); include("../inc/mysql.php"); $select_login = mysql_query("SELECT * FROM snyd_admin WHERE (navn='$navn')") or die(mysql_error()); $row_login = mysql_fetch_array($select_login); if ($kode != $row_login[kode]) { echo"<a href=\"login.php\">Login</a>"; } else { include("menu.php"); echo"<table border=\"1\" width=\"100%\" bordercolor=\"#000000\" bordercolorlight=\"#FFFFFF\">"; echo" <tr>"; echo" <td width=\"25%\"><b>Navn på spil:</b></td>"; echo" <td width=\"25%\"><b>Snydekoden:</b></td>"; echo" <td width=\"25%\"><b>Navn \ mail:</b></td>"; echo" <td width=\"25%\"><b>Bogstav:</b></td>"; echo" <td width=\"25%\"><b>Godkend: ?</b></td>"; echo" </tr>"; $result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo"<tr>"; echo" <td width=\"25%\">$row[spil_navn]</td> "; echo" <td width=\"25%\">$row[kode]</td> "; echo" <td width=\"25%\">$row[navn] \ $row[mail]</td> "; echo" <td width=\"25%\"> <select size=\"1\" name=\"bogstav\"> <option selected>a</option> <option>b</option> <option>c</option> <option>d</option> <option>e</option> <option>f</option> <option>g</option> <option>h</option> <option>i</option> <option>j</option> <option>k</option> <option>l</option> <option>m</option> <option>n</option> <option>o</option> <option>p</option> <option>q</option> <option>r</option> <option>s</option> <option>t</option> <option>u</option> <option>v</option> <option>x</option> <option>y</option> <option>z</option> <option>Andet</option> </select></td> "; echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\">JA</a>\<a href=\"godkendkode.php?godkend=$row[id]&&acc=nej\">Nej</a></b></td>"; echo" </tr> "; } } ?>
Annonceindlæg fra Barco
Så vidt jeg ved plejer man at skulle skrive <option value="a">a</option> før det virker, så der er en værdi den kan læse.
<a href="" type="submit"> submit</a> Kan det ikke bruges??
Det ved jeg men det var osse mere hvordan jeg får submittet med et <a>
nej, <A> er ikke noget formelement, men du kan prøve med <a href="" onClick="document.formnavn.submit();"> Så skal du samtidig også skrive <form name="formnavn"></form> mellem dine <option>
<? session_start(); include("../inc/mysql.php"); $select_login = mysql_query("SELECT * FROM snyd_admin WHERE (navn='$navn')") or die(mysql_error()); $row_login = mysql_fetch_array($select_login); if ($kode != $row_login[kode]) { echo"<a href=\"login.php\">Login</a>"; } else { echo"<form method=\"POST\">"; include("menu.php"); echo"<table border=\"1\" width=\"100%\" bordercolor=\"#000000\" bordercolorlight=\"#FFFFFF\">"; echo" <tr>"; echo" <td width=\"25%\"><b>Navn på spil:</b></td>"; echo" <td width=\"25%\"><b>Snydekoden:</b></td>"; echo" <td width=\"25%\"><b>Navn \ mail:</b></td>"; echo" <td width=\"25%\"><b>Bogstav:</b></td>"; echo" <td width=\"25%\"><b>Godkend: ?</b></td>"; echo" </tr>"; $result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo"<tr>"; echo" <td width=\"25%\">$row[spil_navn]</td> "; echo" <td width=\"25%\">$row[kode]</td> "; echo" <td width=\"25%\">$row[navn] \ $row[mail]</td> "; echo" <td width=\"25%\"> <select size=\"1\" name=\"bogstav\"> <option selected value=\"a\">a</option> <option value=\"b\">b</option> <option value=\"c\">c</option> <option value=\"d\">d</option> <option value=\"e\">e</option> <option value=\"f\">f</option> <option value=\"g\">g</option> <option value=\"h\">h</option> <option value=\"i\">i</option> <option value=\"j\">j</option> <option value=\"k\">k</option> <option value=\"l\">l</option> <option value=\"m\">m</option> <option value=\"n\">n</option> <option value=\"o\">o</option> <option value=\"p\">p</option> <option value=\"q\">q</option> <option value=\"r\">r</option> <option value=\"s\">s</option> <option value=\"t\">t</option> <option value=\"u\">u</option> <option value=\"v\">v</option> <option value=\"x\">x</option> <option value=\"y\">y</option> <option value=\"z\">z</option> <option value=\"Andet\">Andet</option> </select></td> "; echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\" onClick=\"document.bogstav.submit();\">JA</a>\<a href=\"godkendkode.php?godkend=$row[id]&&acc=nej\">Nej</a></b></td>"; echo" </tr> "; } } ?> Sådan ??
mangler den afsluttende </form men ellerS?
Du mangler vist også den første <form name="formnavn">, men ellers ser det rigtigt ud. Men du skal sige document.formnavn.submit(); og ikke bogstav.
Undskyld, når du laver en form skal du huske at skrive method og action, altså: <form name="formnavn" method="post" action="dinside.php">
desværre kan du bare ikke skrive <a href=""> men det virker, ved mig ihvertfald, hvis du fx skrive <a href="#">, eller hvis du angiver en helt anden sti. Håber det virker på en ellers må du jo skrive igen :)
formnavnet er bogstav og den er der: echo"<form method=\"POST\">";
<a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\" onClick=\"document.bogstav.submit();\">JA</a> Sådan er min <a> jo så den er jo ikke tom
Jaja, det rigtig nok. Men dit navn på formen skal jo ikke være bogstav hvis din <select> også hedder det.
ok troede det var navnet på selecten der skulel stå der :)
<? session_start(); include("../inc/mysql.php"); $select_login = mysql_query("SELECT * FROM snyd_admin WHERE (navn='$navn')") or die(mysql_error()); $row_login = mysql_fetch_array($select_login); if ($kode != $row_login[kode]) { echo"<a href=\"login.php\">Login</a>"; } else { if($godkend && $acc) { if ($acc=='nej') { mysql_query("DELETE FROM snyd_koder WHERE (id='$godkend')") or die(mysql_error()); } else { mysql_query("UPDATE snyd_koder set accepteret = 'ja' && alfa = '$bogstav' WHERE id = '$godkend'"); } } echo"<form method=\"POST\" name\"form\">"; include("menu.php"); echo"<table border=\"1\" width=\"100%\" bordercolor=\"#000000\" bordercolorlight=\"#FFFFFF\">"; echo" <tr>"; echo" <td width=\"25%\"><b>Navn på spil:</b></td>"; echo" <td width=\"25%\"><b>Snydekoden:</b></td>"; echo" <td width=\"25%\"><b>Navn \ mail:</b></td>"; echo" <td width=\"25%\"><b>Bogstav:</b></td>"; echo" <td width=\"25%\"><b>Godkend: ?</b></td>"; echo" </tr>"; $result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo"<tr>"; echo" <td width=\"25%\">$row[spil_navn]</td> "; echo" <td width=\"25%\">$row[kode]</td> "; echo" <td width=\"25%\">$row[navn] \ $row[mail]</td> "; echo" <td width=\"25%\"> <select size=\"1\" name=\"bogstav$row[id]\"> <option selected value=\"a\">a</option> <option value=\"b\">b</option> <option value=\"c\">c</option> <option value=\"d\">d</option> <option value=\"e\">e</option> <option value=\"f\">f</option> <option value=\"g\">g</option> <option value=\"h\">h</option> <option value=\"i\">i</option> <option value=\"j\">j</option> <option value=\"k\">k</option> <option value=\"l\">l</option> <option value=\"m\">m</option> <option value=\"n\">n</option> <option value=\"o\">o</option> <option value=\"p\">p</option> <option value=\"q\">q</option> <option value=\"r\">r</option> <option value=\"s\">s</option> <option value=\"t\">t</option> <option value=\"u\">u</option> <option value=\"v\">v</option> <option value=\"x\">x</option> <option value=\"y\">y</option> <option value=\"z\">z</option> <option value=\"Andet\">Andet</option> </select></td> "; echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\" onClick=\"document.form.submit();\">JA</a>\<a href=\"godkendkode.php?godkend=$row[id]&&acc=nej\">Nej</a></b></td>"; echo" </tr> "; echo"</form>"; } } ?> Det virker men den ændre ikke bogstavet i db'en.. Har jeg lavet noget form forkert?
<? session_start(); include("../inc/mysql.php"); $select_login = mysql_query("SELECT * FROM snyd_admin WHERE (navn='$navn')") or die(mysql_error()); $row_login = mysql_fetch_array($select_login); if ($kode != $row_login[kode]) { echo"<a href=\"login.php\">Login</a>"; } else { if($godkend && $acc) { if ($acc=='nej') { mysql_query("DELETE FROM snyd_koder WHERE (id='$godkend')") or die(mysql_error()); } else { mysql_query("UPDATE snyd_koder set accepteret = 'ja' && alfa = '$bogstav$godkend' WHERE id = '$godkend'"); } } echo"<form method=\"POST\" name\"form\">"; include("menu.php"); echo"<table border=\"1\" width=\"100%\" bordercolor=\"#000000\" bordercolorlight=\"#FFFFFF\">"; echo" <tr>"; echo" <td width=\"25%\"><b>Navn på spil:</b></td>"; echo" <td width=\"25%\"><b>Snydekoden:</b></td>"; echo" <td width=\"25%\"><b>Navn \ mail:</b></td>"; echo" <td width=\"25%\"><b>Bogstav:</b></td>"; echo" <td width=\"25%\"><b>Godkend: ?</b></td>"; echo" </tr>"; $result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo"<tr>"; echo" <td width=\"25%\">$row[spil_navn]</td> "; echo" <td width=\"25%\">$row[kode]</td> "; echo" <td width=\"25%\">$row[navn] \ $row[mail]</td> "; echo" <td width=\"25%\"> <select size=\"1\" name=\"bogstav$row[id]\"> <option selected value=\"a\">a</option> <option value=\"b\">b</option> <option value=\"c\">c</option> <option value=\"d\">d</option> <option value=\"e\">e</option> <option value=\"f\">f</option> <option value=\"g\">g</option> <option value=\"h\">h</option> <option value=\"i\">i</option> <option value=\"j\">j</option> <option value=\"k\">k</option> <option value=\"l\">l</option> <option value=\"m\">m</option> <option value=\"n\">n</option> <option value=\"o\">o</option> <option value=\"p\">p</option> <option value=\"q\">q</option> <option value=\"r\">r</option> <option value=\"s\">s</option> <option value=\"t\">t</option> <option value=\"u\">u</option> <option value=\"v\">v</option> <option value=\"x\">x</option> <option value=\"y\">y</option> <option value=\"z\">z</option> <option value=\"Andet\">Andet</option> </select></td> "; echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\" onClick=\"document.form.submit();\">JA</a>\<a href=\"godkendkode.php?godkend=$row[id]&&acc=nej\">Nej</a></b></td>"; echo" </tr> "; echo"</form>"; } } ?> Det skulle gerne virke men stadig ikke?
Du skal selvfølgelig huske at hente bogstavet til php: $bogstav = $_POST['bogstav'];
hvis du submitter til den samme side kan du skrive øverst i koden: if ($HTTP_POST_VARS) { $bogstav = $_POST['bogstav']; } dette virker kun i php version 4.1.0. Ellers skal du skrive: $bogstav = $HTTP_POST_VARS['bogstav'];
nu skriver den bare 0 i accepteret og stadig intet i alfa
<? session_start(); include("../inc/mysql.php"); $select_login = mysql_query("SELECT * FROM snyd_admin WHERE (navn='$navn')") or die(mysql_error()); $row_login = mysql_fetch_array($select_login); if ($kode != $row_login[kode]) { echo"<a href=\"login.php\">Login</a>"; } else { if($godkend && $acc) { if ($acc=='nej') { mysql_query("DELETE FROM snyd_koder WHERE (id='$godkend')") or die(mysql_error()); } else { $bogstav = $_POST['bogstav$godkend']; mysql_query("UPDATE snyd_koder set accepteret = 'ja' && alfa = '$bogstav' WHERE id = '$godkend'"); } } echo"<form method=\"POST\" name\"form\">"; include("menu.php"); echo"<table border=\"1\" width=\"100%\" bordercolor=\"#000000\" bordercolorlight=\"#FFFFFF\">"; echo" <tr>"; echo" <td width=\"25%\"><b>Navn på spil:</b></td>"; echo" <td width=\"25%\"><b>Snydekoden:</b></td>"; echo" <td width=\"25%\"><b>Navn \ mail:</b></td>"; echo" <td width=\"25%\"><b>Bogstav:</b></td>"; echo" <td width=\"25%\"><b>Godkend: ?</b></td>"; echo" </tr>"; $result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo"<tr>"; echo" <td width=\"25%\">$row[spil_navn]</td> "; echo" <td width=\"25%\">$row[kode]</td> "; echo" <td width=\"25%\">$row[navn] \ $row[mail]</td> "; echo" <td width=\"25%\"> <select size=\"1\" name=\"bogstav$row[id]\"> <option selected value=\"a\">a</option> <option value=\"b\">b</option> <option value=\"c\">c</option> <option value=\"d\">d</option> <option value=\"e\">e</option> <option value=\"f\">f</option> <option value=\"g\">g</option> <option value=\"h\">h</option> <option value=\"i\">i</option> <option value=\"j\">j</option> <option value=\"k\">k</option> <option value=\"l\">l</option> <option value=\"m\">m</option> <option value=\"n\">n</option> <option value=\"o\">o</option> <option value=\"p\">p</option> <option value=\"q\">q</option> <option value=\"r\">r</option> <option value=\"s\">s</option> <option value=\"t\">t</option> <option value=\"u\">u</option> <option value=\"v\">v</option> <option value=\"x\">x</option> <option value=\"y\">y</option> <option value=\"z\">z</option> <option value=\"Andet\">Andet</option> </select></td> "; echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\" onClick=\"document.form.submit();\">JA</a>\<a href=\"godkendkode.php?godkend=$row[id]&&acc=nej\">Nej</a></b></td>"; echo" </tr> "; echo"</form>"; } } ?> Sådan er koden, og virker ikke, den skriver 0 i accepteret og ingenting i alfa
Øhh, hvorfor skriver du $bogstav = $_POST['bogstav$godkend']; og ikke $bogstav = $_POST['bogstav']; det den gør er kun at hente bogstavet fra formen når du har submittet og lægger den ind i variablen $bogstav. Derfor skal du ikke skrive $godkend inde i.
så skal du vel samtidig også hente variablen acc fra det link du skriver: $acc = $_GET['acc']; og så fx lægge den det samme sted som med $_POST
For mig at se, skulle du hellere gøre sådan: <? session_start(); include("../inc/mysql.php"); if ($HTTP_POST_VARS) $bogstav = $_POST['bogstav$godkend']; if ($HTTP_GET_VARS) { $acc = $_GET['acc']; $godkend = $_GET['godkend']; } $select_login = mysql_query("SELECT * FROM snyd_admin WHERE (navn='$navn')") or die(mysql_error()); $row_login = mysql_fetch_array($select_login); if ($kode != $row_login[kode]) { echo"<a href=\"login.php\">Login</a>"; } else { if($godkend && $acc) { if ($acc=='nej') { mysql_query("DELETE FROM snyd_koder WHERE (id='$godkend')") or die(mysql_error()); } else { mysql_query("UPDATE snyd_koder set accepteret = 'ja' && alfa = '$bogstav' WHERE id = '$godkend'"); } } echo"<form method=\"POST\" name\"form\">"; include("menu.php"); echo"<table border=\"1\" width=\"100%\" bordercolor=\"#000000\" bordercolorlight=\"#FFFFFF\">"; echo" <tr>"; echo" <td width=\"25%\"><b>Navn på spil:</b></td>"; echo" <td width=\"25%\"><b>Snydekoden:</b></td>"; echo" <td width=\"25%\"><b>Navn \ mail:</b></td>"; echo" <td width=\"25%\"><b>Bogstav:</b></td>"; echo" <td width=\"25%\"><b>Godkend: ?</b></td>"; echo" </tr>"; $result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { echo"<tr>"; echo" <td width=\"25%\">$row[spil_navn]</td> "; echo" <td width=\"25%\">$row[kode]</td> "; echo" <td width=\"25%\">$row[navn] \ $row[mail]</td> "; echo" <td width=\"25%\"> <select size=\"1\" name=\"bogstav\"> <option selected value=\"a\">a</option> <option value=\"b\">b</option> <option value=\"c\">c</option> <option value=\"d\">d</option> <option value=\"e\">e</option> <option value=\"f\">f</option> <option value=\"g\">g</option> <option value=\"h\">h</option> <option value=\"i\">i</option> <option value=\"j\">j</option> <option value=\"k\">k</option> <option value=\"l\">l</option> <option value=\"m\">m</option> <option value=\"n\">n</option> <option value=\"o\">o</option> <option value=\"p\">p</option> <option value=\"q\">q</option> <option value=\"r\">r</option> <option value=\"s\">s</option> <option value=\"t\">t</option> <option value=\"u\">u</option> <option value=\"v\">v</option> <option value=\"x\">x</option> <option value=\"y\">y</option> <option value=\"z\">z</option> <option value=\"Andet\">Andet</option> </select></td> "; echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$row[id]&&acc=ja\" onClick=\"document.form.submit();\">JA</a>\<a href=\"godkendkode.php?godkend=$row[id]&&acc=nej\" onClick=\"document.form.submit();\">Nej</a></b></td>"; echo" </tr> "; echo"</form>"; } } ?> Men kunne du ikke sige hvad du bruger den $row[id] til, for jeg kan ikke se hvad den skal bruges til i dette eksempel.
undskyld der skulle stå: if ($HTTP_POST_VARS) $bogstav = $_POST['bogstav']; ;-)
nope virker overhovedet heller ikke
Problemet, tror jeg, at du skriver til sidst: godkend=$row[id] Hvis du kigger på dit array $row (prøv at skrive print_r($row)) vil du sikkert kunne se at man ikke umiddelbart kan gøre sådan. I stedet synes jeg du bør skrive: ..$result = mysql_query("SELECT * FROM snyd_koder WHERE (accepteret='nej')") or die(mysql_error()); $row = mysql_fetch_array($result); for ($i=0;$i<sizeof($row);$i++) { extract($row[$i]); echo"<tr>"; echo" <td width=\"25%\">$spil_navn</td> "; echo" <td width=\"25%\">$kode</td> "; echo" <td width=\"25%\">$navn \ $mail</td> ";... og til sidst: echo" <td width=\"25%\"><b><a href=\"godkendkode.php?godkend=$id&&acc=ja\" onClick=\"document.form.submit();\">JA</a>\<a href=\"godkendkode.php?godkend=$id&&acc=nej\" onClick=\"document.form.submit();\">Nej</a></b></td>";
05. juni 2003 - 22:34
#28
øhm, finder du ud af noget??
Vi tilbyder markedets bedste kurser inden for webudvikling