04. marts 2008 - 11:55
Der er
15 kommentarer og 1 løsning
En form med funktioner og muligheder i samme file
Jeg vil lave et lille bruger system, alt sammen i en fil med funktioner. Simpelt kunne adduser form se sådan her ud Men hvordan får jeg min kode til at kunne håndtere adduser deluser og show user? Jeg har selv en funktion til mysql databasen, men det er selve delen ved at checke de her elementer som jeg ikke får bugt med. noget if (!$REQUEST['Submit']) { <?php function adduser() { ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> Name<br /> <input type="text" name="brugernavn"><br /> Phonenumber<br /> <input type="phonenumber" name="phonenumber"><br /> Region<br /> <input type="region" name="region"><br /> <input type="submit" value="Add User"> </form> <?php } ?>
Annonceindlæg fra Cepheo
04. marts 2008 - 12:03
#1
Hvad er det helt præcist du vil?
04. marts 2008 - 12:22
#2
hvis header = &Submit=adduser hop til adduser og lad mig skrive navn/tlf/region hvis header = &Submit=deluser giv mig en tom user box hvor jeg kan skrive navnet på den jeg vil slette hvis header = &Submit=changeuser giv mig en der ligner adduser bare med udfyldte felter ellers bare vis en side hvor jeg kan vælge adduser deluser changeuser
04. marts 2008 - 12:38
#3
Hm. Ved ikke om jeg er helt med, men er det sådan noget du søger: if($_GET['adduser']==true) { echo "Form med deluser"; } if($_GET['deluser']==true) { echo "Form med changeuser"; } if($_GET['changeuser']==true) { echo "Form med adduser"; } ???
04. marts 2008 - 13:01
#4
<html> <head> <title>User:</title> </head> <?php if (!$_GET['Submit']) { showuser; } elseif ($_GET['Submit'] == "adduser") { adduser(); } elseif ($_GET['Submit'] == "deluser") { deluser(); } elseif ($_GET['Submit'] == "edituser") { edituser(); } function adduser() { ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> Name<br /> <input type="text" name="brugernavn"><br /> Phonenumber<br /> <input type="phonenumber" name="phonenumber"><br /> Region<br /> <input type="region" name="region"><br /> <input type="submit" value="Add User"> </form> <?php } function showuser() { echo 'Showuser'; } function deluser() { echo 'deluser'; } function edituser() { echo 'edituser'; } ?> </body> </html> Sådan her mener jeg, men den fungere ikke
04. marts 2008 - 13:03
#5
Siden formen er med: method="post" skal du bruge $_POST[...] i stedet for $_GET[...].
04. marts 2008 - 13:09
#6
Hvis jeg sætter et &Submit=adduser efter min url for at simulere valget får jeg bare : The webpage cannot be found: 404 fejl
04. marts 2008 - 13:13
#7
Ved ikke lige hvofor du får den - bortset fra at det skal være ? i stedet for &. MEN du har forresten heller ikke noget felt i din form som har *navnet* "submit" - du har et felt af *typen* "submit", men det er altså noget andet. PS: Du bør heller ikke bruge navnet "submit" noget sted. Hald det noget andet.
04. marts 2008 - 13:25
#8
Så ser den sådan her ud, og nu viser den "showuser" funktionen som den skal når do= Men nu uanset hvad jeg vælger sker der ikke noget: <html> <head> <title>User:</title> </head> <?php if (!$_POST['do']) { showuser(); } elseif ($_POST['do'] == "adduser") { adduser(); } elseif ($_POST['do'] == "deluser") { deluser(); } elseif ($_POST['do'] == "edituser") { edituser(); } function adduser() { ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> Name<br /> <input type="text" name="brugernavn"><br /> Phonenumber<br /> <input type="phonenumber" name="phonenumber"><br /> Region<br /> <input type="region" name="region"><br /> <input type="adduser" value="Add User"> </form> <?php } function showuser() { echo 'Showuser'; echo '<br><tr><td>'; echo ("<a href=\"" . $_SERVER['PHP_SELF'] . "?do=adduser\">Add New User"); echo '</a></td><br>'; echo ("<a href=\"" . $_SERVER['PHP_SELF'] . "?do=edituser\">Edit User"); echo '</a></td><br>'; echo '<td>'; echo ("<a href=\"" . $_SERVER['PHP_SELF'] . "?do=deluser\">Delete User"); echo '</a></td></tr>'; } function deluser() { echo 'deluser'; } function edituser() { echo 'edituser'; } ?> </body> </html>
04. marts 2008 - 13:35
#9
Hvordan ser den fulde URL ud?
04. marts 2008 - 13:36
#10
Der et heller ikke noget som hedder: <input type="adduser" value="Add User"> Det skal stadig være en submit: <input type="submit" value="Add User"> Den må bare ikke *også* have name="submit"
04. marts 2008 - 13:48
#11
Det samme problem hér: <input type="phonenumber" name="phonenumber"><br /> Region<br /> <input type="region" name="region"><br /> <input type="adduser" value="Add User"> type=phonenumber ovs. er ikke gyldige HTML koder.
04. marts 2008 - 13:51
#12
Der er heller ikke noget som hedder type="region" eller type="phonenumber". Tror du skal rette dem til type="text"
04. marts 2008 - 14:07
#13
det er nu gjort, men det er ikke det grundliggende problem i min kode.. Den når aldrig ned til dem, så det må være: if (!$_POST['do']) { showuser(); } elseif ($_POST['do'] == "adduser") { adduser(); } elseif ($_POST['do'] == "deluser") { deluser(); } elseif ($_POST['do'] == "edituser") { edituser(); } delen her som fejler?
04. marts 2008 - 14:11
#14
Hvordan ser hele din URL ud?
04. marts 2008 - 14:19
#15
En $_POST variabel kommer oftest fra en form. En $_GET variabel kommer oftest fra adresselinjen, dvs URL. Jeg tror du skal ændre din $_POST['do'] til $_GET['do'], da du sætter do via dine links.
04. marts 2008 - 16:06
#16
prøver noget helt andet, fra bunden af for at identificere hvor jeg fejler.
Vi tilbyder markedets bedste kurser inden for webudvikling