Navigation
Supportsider
Senest Online
HenningS 1 Dag
olelau 3 Dage
helmuth 1 Uge
Henrik Bendtsen 2 Uger
iceman50 3 Uger
viklake 4 Uger
flj 5 Uger
Niller 7 Uger
gittedl 8 Uger
snatur 9 Uger
Besøgende
Gæster online: 6

Brugere online: 0

Antal brugere: 179
Nyeste bruger: Michael Mogensen
Se indlæg
 Udskriv debat
undefined variable i dropdown menu
DJ_Underberg
Hejsa.
Jeg har et problem med udefineret variable i en drop down menu, som ikke bliver indsat i databasen - og løsningen er garanteret meget simpelt, men har efterhånden søgt og prøvet ret meget..
Af nedenstående kode gætter jeg på at "varGender" skal sættes lig "" eller sådan noget, men kan ikke få det til at virke.. jeg får følgende fejl på min side:

"No database selectedNo database selectedEntered data successfully"

og min error log siger netop at varGender er undefined:
Undefined variable: varGender Linje: 80
Undefined variable: varGender Linje: 81

Hvor i følgende kode kan jeg gøre det?
På forhånd tak

PHP
  1.  
  2. <html>
  3. <head>
  4. <title>Add New Record in MySQL Database</title>
  5. </head>
  6. <body>
  7. <?php
  8.  
  9. if(isset($_POST['add']))
  10. {
  11. $dbhost = "localhost";
  12. $dbuser = "root";
  13. $dbpass = "1234";
  14. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  15. if(! $conn )
  16. {
  17.   die('Could not connect: ' . mysql_error());
  18. }
  19.  
  20. if(! get_magic_quotes_gpc() )
  21. {
  22.    $emp_name = addslashes ($_POST['emp_name']);
  23.    $emp_address = addslashes ($_POST['emp_address']);
  24.    $varGender = addslashes ($_POST['varGender']);
  25. }
  26. else
  27. {
  28.    $emp_name = $_POST['emp_name'];
  29.    $emp_address = $_POST['emp_address'];
  30.    $varGender = $_POST['varGender'];
  31. }
  32. $emp_salary = $_POST['emp_salary'];
  33.  
  34.  
  35. $sql = "INSERT INTO employee ".
  36.        "(emp_name,emp_address, emp_salary, varGender, join_date) ".
  37.        "VALUES('$emp_name','$emp_address',$emp_salary, '$varGender', NOW())";
  38. mysql_select_db('test');
  39. $retval = mysql_query( $sql, $conn );
  40. if(! $retval )
  41. {
  42.   die('Could not enter data: ' . mysql_error());
  43. }
  44. echo "Entered data successfully\n";
  45. mysql_close($conn);
  46. }
  47. else
  48. {
  49. ?>
  50.  
  51. <form method="post" action="<?php $_PHP_SELF ?>">
  52. <table width="400" border="0" cellspacing="1" cellpadding="2">
  53. <tr>
  54. <td width="100">Employee Name</td>
  55. <td><input name="emp_name" type="text" id="emp_name"></td>
  56. </tr>
  57. <tr>
  58. <td width="100">Employee Address</td>
  59. <td><input name="emp_address" type="text" id="emp_address"></td>
  60. </tr>
  61. <tr>
  62. <td width="100">Employee Salary</td>
  63. <td><input name="emp_salary" type="text" id="emp_salary"></td>
  64. </tr>
  65. <tr>
  66. <td width="100"> </td>
  67. <td> </td>
  68. </tr>
  69. <tr>
  70. <td width="100"> </td>
  71. <td>
  72. <input name="add" type="submit" id="add" value="Add Employee">
  73. </td>
  74. </tr>
  75. </table>
  76. </form>
  77. <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
  78. <label for='formGender'>What is your Gender?</label><br/>
  79. <select name='formGender'>
  80.     <option value="">Select...</option>
  81.     <option value="M"<? if($varGender=="M") echo(" selected=\"selected\"");?>>Male</option>
  82.     <option value="F"<? if($varGender=="F") echo(" selected=\"selected\"");?>>Female</option>
  83. </select>                
  84. </form>
  85. <?php
  86. }
  87. ?>
  88. </body>
  89. </html>
  90.  
 
flj
For mig virker det som om du ikke får valgt en database. Du får fejlen "No database selected" 2 gange. Findes tabellen "test"?
 
DJ_Underberg
Tak for svar flj.
Jeg har oprettet en database "test" og en tabel "employee".
Jeg glemte desværre at skrive at jeg rent faktisk får lagt emp_name,emp_address, emp_salary rigtigt nok ind i databasen, men VarGender feltet er tomt.. Håber det kan give et clue :-)
 
flj
Der er 2 forms - det ved jeg ikke hvordan virker, men jeg ville slette linierne 76 og 77.

Gender feltet hedder FormGender, men i post-delen refererer du til varGender. Jeg ville rette FormGender til varGender i linie 79
 
DJ_Underberg
det var sørme det der skulle til - takker for svaret :-)
 
Spring til debat: