MySQL Web Interface - Shells-Center.Com


SUBMITTED BY: Guest

DATE: Sept. 2, 2014, 3:05 a.m.

FORMAT: PHP

SIZE: 42.5 kB

HITS: 830

  1. <?
  2. /*
  3. * MySQL Web Interface Version 2
  4. * -------------------------------
  5. * Developed By sNiper_hEx
  6. */
  7. if ( function_exists('ini_get') ) {
  8. $onoff = ini_get('register_globals');
  9. } else {
  10. $onoff = get_cfg_var('register_globals');
  11. }
  12. if ($onoff != 1) {
  13. @extract($HTTP_SERVER_VARS, EXTR_SKIP);
  14. @extract($HTTP_COOKIE_VARS, EXTR_SKIP);
  15. @extract($HTTP_POST_FILES, EXTR_SKIP);
  16. @extract($HTTP_POST_VARS, EXTR_SKIP);
  17. @extract($HTTP_GET_VARS, EXTR_SKIP);
  18. @extract($HTTP_ENV_VARS, EXTR_SKIP);
  19. }
  20. function logon() {
  21. global $PHP_SELF;
  22. setcookie( "mysql_web_admin_username" );
  23. setcookie( "mysql_web_admin_password" );
  24. setcookie( "mysql_web_admin_hostname" );
  25. echo "<html>\n";
  26. echo "<head>\n";
  27. echo "<title>MySQL Interface</title>\n";
  28. echo "</head>\n";
  29. echo "<body>\n";
  30. echo "<table width=100% height=100%><tr><td><center>\n";
  31. echo "<table cellpadding=2><tr><td bgcolor=#a4a260><center>\n";
  32. echo "<table cellpadding=20><tr><td bgcolor=#ffffff><center>\n";
  33. echo "<h1>MySQL Web Interface</h1>\n";
  34. echo "<form action='$PHP_SELF'>\n";
  35. echo "<input type=hidden name=action value=logon_submit>\n";
  36. echo "<table cellpadding=5 cellspacing=1>\n";
  37. echo "<tr><td>Hostname </td><td> <input type=text name=hostname value='localhost'></td></tr>\n";
  38. echo "<tr><td>Username </td><td> <input type=text name=username></td></tr>\n";
  39. echo "<tr><td>Password </td><td> <input type=password name=password></td></tr>\n";
  40. echo "</table><p>\n";
  41. echo "<input type=submit value='Enter'>\n";
  42. echo "<input type=reset value='Clear'><br>\n";
  43. echo "</form>\n";
  44. echo "</center></td></tr></table>\n";
  45. echo "</center></td></tr></table>\n";
  46. echo "<p><hr width=300>\n";
  47. echo "</center></td></tr></table>\n";
  48. echo "</body>\n";
  49. echo "</html>\n";
  50. }
  51. function logon_submit() {
  52. global $username, $password, $hostname ,$PHP_SELF;
  53. if($hostname =='')
  54. $hostname = 'localhost';
  55. setcookie( "mysql_web_admin_username", $username );
  56. setcookie( "mysql_web_admin_password", $password );
  57. setcookie( "mysql_web_admin_hostname", $hostname );
  58. echo "<html>";
  59. echo "<head>";
  60. echo "<META HTTP-EQUIV=Refresh CONTENT='0; URL=$PHP_SELF?action=listDBs'>";
  61. echo "</head>";
  62. echo "</html>";
  63. }
  64. function echoQueryResult() {
  65. global $queryStr, $errMsg;
  66. if( $errMsg == "" ) $errMsg = "Success";
  67. if( $queryStr != "" ) {
  68. echo "<table cellpadding=5>\n";
  69. echo "<tr><td>Query</td><td>$queryStr</td></tr>\n";
  70. echo "<tr><td>Result</td><td>$errMsg</td></tr>\n";
  71. echo "</table><p>\n";
  72. }
  73. }
  74. function listDatabases() {
  75. global $mysqlHandle, $PHP_SELF;
  76. echo "<h1>Databases List</h1>\n";
  77. echo "<form action='$PHP_SELF'>\n";
  78. echo "<input type=hidden name=action value=createDB>\n";
  79. echo "<input type=text name=dbname>\n";
  80. echo "<input type=submit value='Create Database'>\n";
  81. echo "</form>\n";
  82. echo "<hr>\n";
  83. echo "<table cellspacing=1 cellpadding=5>\n";
  84. $pDB = mysql_list_dbs( $mysqlHandle );
  85. $num = mysql_num_rows( $pDB );
  86. for( $i = 0; $i < $num; $i++ ) {
  87. $dbname = mysql_dbname( $pDB, $i );
  88. echo "<tr>\n";
  89. echo "<td>$dbname</td>\n";
  90. echo "<td><a href='$PHP_SELF?action=listTables&dbname=$dbname'>Tables</a></td>\n";
  91. echo "<td><a href='$PHP_SELF?action=dropDB&dbname=$dbname' onClick=\"return confirm('Drop Database \'$dbname\'?')\">Drop</a></td>\n";
  92. echo "<td><a href='$PHP_SELF?action=dumpDB&dbname=$dbname' onClick=\"return confirm('Dump Database \'$dbname\'?')\">Dump</a></td>\n";
  93. echo "</tr>\n";
  94. }
  95. echo "</table>\n";
  96. }
  97. function createDatabase() {
  98. global $mysqlHandle, $dbname, $PHP_SELF;
  99. mysql_create_db( $dbname, $mysqlHandle );
  100. listDatabases();
  101. }
  102. function dropDatabase() {
  103. global $mysqlHandle, $dbname, $PHP_SELF;
  104. mysql_drop_db( $dbname, $mysqlHandle );
  105. listDatabases();
  106. }
  107. function listTables() {
  108. global $mysqlHandle, $dbname, $PHP_SELF;
  109. echo "<h1>Tables List</h1>\n";
  110. echo "<p class=location>$dbname</p>\n";
  111. echoQueryResult();
  112. echo "<form action='$PHP_SELF'>\n";
  113. echo "<input type=hidden name=action value=createTable>\n";
  114. echo "<input type=hidden name=dbname value=$dbname>\n";
  115. echo "<input type=text name=tablename>\n";
  116. echo "<input type=submit value='Create Table'>\n";
  117. echo "</form>\n";
  118. echo "<form action='$PHP_SELF'>\n";
  119. echo "<input type=hidden name=action value=query>\n";
  120. echo "<input type=hidden name=dbname value=$dbname>\n";
  121. echo "<input type=text size=120 name=queryStr>\n";
  122. echo "<input type=submit value='Query'>\n";
  123. echo "</form>\n";
  124. echo "<hr>\n";
  125. $pTable = mysql_list_tables( $dbname );
  126. if( $pTable == 0 ) {
  127. $msg = mysql_error();
  128. echo "<h3>Error : $msg</h3><p>\n";
  129. return;
  130. }
  131. $num = mysql_num_rows( $pTable );
  132. echo "<table cellspacing=1 cellpadding=5>\n";
  133. for( $i = 0; $i < $num; $i++ ) {
  134. $tablename = mysql_tablename( $pTable, $i );
  135. echo "<tr>\n";
  136. echo "<td>\n";
  137. echo "$tablename\n";
  138. echo "</td>\n";
  139. echo "<td>\n";
  140. echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  141. echo "</td>\n";
  142. echo "<td>\n";
  143. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>Data</a>\n";
  144. echo "</td>\n";
  145. echo "<td>\n";
  146. echo "<a href='$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Drop Table \'$tablename\'?')\">Drop</a>\n";
  147. echo "</td>\n";
  148. echo "<td>\n";
  149. echo "<a href='$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Dump Table \'$tablename\'?')\">Dump</a>\n";
  150. echo "</td>\n";
  151. echo "</tr>\n";
  152. }
  153. echo "</table>";
  154. }
  155. function createTable() {
  156. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  157. $queryStr = "CREATE TABLE $tablename ( no INT )";
  158. mysql_select_db( $dbname, $mysqlHandle );
  159. mysql_query( $queryStr, $mysqlHandle );
  160. $errMsg = mysql_error();
  161. listTables();
  162. }
  163. function dropTable() {
  164. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  165. $queryStr = "DROP TABLE $tablename";
  166. mysql_select_db( $dbname, $mysqlHandle );
  167. mysql_query( $queryStr, $mysqlHandle );
  168. $errMsg = mysql_error();
  169. listTables();
  170. }
  171. function viewSchema() {
  172. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;
  173. echo "<h1>Table Schema</h1>\n";
  174. echo "<p class=location>$dbname > $tablename</p>\n";
  175. echoQueryResult();
  176. echo "<a href='$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename'>Add Field</a> | \n";
  177. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename'>View Data</a>\n";
  178. echo "<hr>\n";
  179. $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  180. $num = mysql_num_rows( $pResult );
  181. echo "<table cellspacing=1 cellpadding=5>\n";
  182. echo "<tr>\n";
  183. echo "<th>Field</th>\n";
  184. echo "<th>Type</th>\n";
  185. echo "<th>Null</th>\n";
  186. echo "<th>Key</th>\n";
  187. echo "<th>Default</th>\n";
  188. echo "<th>Extra</th>\n";
  189. echo "<th colspan=2>Action</th>\n";
  190. echo "</tr>\n";
  191. for( $i = 0; $i < $num; $i++ ) {
  192. $field = mysql_fetch_array( $pResult );
  193. echo "<tr>\n";
  194. echo "<td>".$field["Field"]."</td>\n";
  195. echo "<td>".$field["Type"]."</td>\n";
  196. echo "<td>".$field["Null"]."</td>\n";
  197. echo "<td>".$field["Key"]."</td>\n";
  198. echo "<td>".$field["Default"]."</td>\n";
  199. echo "<td>".$field["Extra"]."</td>\n";
  200. $fieldname = $field["Field"];
  201. echo "<td><a href='$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname'>Edit</a></td>\n";
  202. echo "<td><a href='$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname' onClick=\"return confirm('Drop Field \'$fieldname\'?')\">Drop</a></td>\n";
  203. echo "</tr>\n";
  204. }
  205. echo "</table>\n";
  206. }
  207. function manageField( $cmd ) {
  208. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF;
  209. if( $cmd == "add" )
  210. echo "<h1>Add Field</h1>\n";
  211. else if( $cmd == "edit" ) {
  212. echo "<h1>Edit Field</h1>\n";
  213. $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  214. $num = mysql_num_rows( $pResult );
  215. for( $i = 0; $i < $num; $i++ ) {
  216. $field = mysql_fetch_array( $pResult );
  217. if( $field["Field"] == $fieldname ) {
  218. $fieldtype = $field["Type"];
  219. $fieldkey = $field["Key"];
  220. $fieldextra = $field["Extra"];
  221. $fieldnull = $field["Null"];
  222. $fielddefault = $field["Default"];
  223. break;
  224. }
  225. }
  226. $type = strtok( $fieldtype, " (,)\n" );
  227. if( strpos( $fieldtype, "(" ) ) {
  228. if( $type == "enum" | $type == "set" ) {
  229. $valuelist = strtok( " ()\n" );
  230. } else {
  231. $M = strtok( " (,)\n" );
  232. if( strpos( $fieldtype, "," ) )
  233. $D = strtok( " (,)\n" );
  234. }
  235. }
  236. }
  237. echo "<p class=location>$dbname > $tablename</p>\n";
  238. echo "<form action=$PHP_SELF>\n";
  239. if( $cmd == "add" )
  240. echo "<input type=hidden name=action value=addField_submit>\n";
  241. else if( $cmd == "edit" ) {
  242. echo "<input type=hidden name=action value=editField_submit>\n";
  243. echo "<input type=hidden name=old_name value=$fieldname>\n";
  244. }
  245. echo "<input type=hidden name=dbname value=$dbname>\n";
  246. echo "<input type=hidden name=tablename value=$tablename>\n";
  247. echo "<h3>Name</h3>\n";
  248. echo "<input type=text name=name value=$fieldname><p>\n";
  249. echo '
  250. <h3>Type</h3>
  251. <font size=2>
  252. * `M\' indicates the maximum display size.<br>
  253. * `D\' applies to floating-point types and indicates the number of digits following the decimal point.<br>
  254. </font>
  255. <table>
  256. <tr>
  257. <th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th>
  258. </tr>
  259. <tr>
  260. <td><input type=radio name=type value="TINYINT" '; if( $type == "tinyint" ) echo "checked";echo '>TINYINT (-128 ~ 127)</td>
  261. <td align=center>O</td>
  262. <td>&nbsp</td>
  263. <td align=center>O</td>
  264. <td align=center>O</td>
  265. <td>&nbsp</td>
  266. </tr>
  267. <tr>
  268. <td><input type=radio name=type value="SMALLINT" '; if( $type == "smallint" ) echo "checked";echo '>SMALLINT (-32768 ~ 32767)</td>
  269. <td align=center>O</td>
  270. <td>&nbsp</td>
  271. <td align=center>O</td>
  272. <td align=center>O</td>
  273. <td>&nbsp</td>
  274. </tr>
  275. <tr>
  276. <td><input type=radio name=type value="MEDIUMINT" '; if( $type == "mediumint" ) echo "checked";echo '>MEDIUMINT (-8388608 ~ 8388607)</td>
  277. <td align=center>O</td>
  278. <td>&nbsp</td>
  279. <td align=center>O</td>
  280. <td align=center>O</td>
  281. <td>&nbsp</td>
  282. </tr>
  283. <tr>
  284. <td><input type=radio name=type value="INT" '; if( $type == "int" ) echo "checked";echo '>INT (-2147483648 ~ 2147483647)</td>
  285. <td align=center>O</td>
  286. <td>&nbsp</td>
  287. <td align=center>O</td>
  288. <td align=center>O</td>
  289. <td>&nbsp</td>
  290. </tr>
  291. <tr>
  292. <td><input type=radio name=type value="BIGINT" '; if( $type == "bigint" ) echo "checked";echo '>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td>
  293. <td align=center>O</td>
  294. <td>&nbsp</td>
  295. <td align=center>O</td>
  296. <td align=center>O</td>
  297. <td>&nbsp</td>
  298. </tr>
  299. <tr>
  300. <td><input type=radio name=type value="FLOAT" '; if( $type == "float" ) echo "checked";echo '>FLOAT</td>
  301. <td align=center>O</td>
  302. <td align=center>O</td>
  303. <td>&nbsp</td>
  304. <td align=center>O</td>
  305. <td>&nbsp</td>
  306. </tr>
  307. <tr>
  308. <td><input type=radio name=type value="DOUBLE" '; if( $type == "double" ) echo "checked";echo '>DOUBLE</td>
  309. <td align=center>O</td>
  310. <td align=center>O</td>
  311. <td>&nbsp</td>
  312. <td align=center>O</td>
  313. <td>&nbsp</td>
  314. </tr>
  315. <tr>
  316. <td><input type=radio name=type value="DECIMAL" '; if( $type == "decimal" ) echo "checked";echo '>DECIMAL(NUMERIC)</td>
  317. <td align=center>O</td>
  318. <td align=center>O</td>
  319. <td>&nbsp</td>
  320. <td align=center>O</td>
  321. <td>&nbsp</td>
  322. </tr>
  323. <tr>
  324. <td><input type=radio name=type value="DATE" '; if( $type == "date" ) echo "checked";echo '>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td>
  325. <td>&nbsp</td>
  326. <td>&nbsp</td>
  327. <td>&nbsp</td>
  328. <td>&nbsp</td>
  329. <td>&nbsp</td>
  330. </tr>
  331. <tr>
  332. <td><input type=radio name=type value="DATETIME" '; if( $type == "datetime" ) echo "checked";echo '>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59, YYYY-MM-DD HH:MM:SS)</td>
  333. <td>&nbsp</td>
  334. <td>&nbsp</td>
  335. <td>&nbsp</td>
  336. <td>&nbsp</td>
  337. <td>&nbsp</td>
  338. </tr>
  339. <tr>
  340. <td><input type=radio name=type value="TIMESTAMP" '; if( $type == "timestamp" ) echo "checked";echo '>TIMESTAMP (1970-01-01 00:00:00 ~ 2106..., YYYYMMDD[HH[MM[SS]]])</td>
  341. <td align=center>O</td>
  342. <td>&nbsp</td>
  343. <td>&nbsp</td>
  344. <td>&nbsp</td>
  345. <td>&nbsp</td>
  346. </tr>
  347. <tr>
  348. <td><input type=radio name=type value="TIME" '; if( $type == "time" ) echo "checked";echo '>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td>
  349. <td>&nbsp</td>
  350. <td>&nbsp</td>
  351. <td>&nbsp</td>
  352. <td>&nbsp</td>
  353. <td>&nbsp</td>
  354. </tr>
  355. <tr>
  356. <td><input type=radio name=type value="YEAR" '; if( $type == "year" ) echo "checked";echo '>YEAR (1901 ~ 2155, 0000, YYYY)</td>
  357. <td>&nbsp</td>
  358. <td>&nbsp</td>
  359. <td>&nbsp</td>
  360. <td>&nbsp</td>
  361. <td>&nbsp</td>
  362. </tr>
  363. <tr>
  364. <td><input type=radio name=type value="CHAR" '; if( $type == "char" ) echo "checked";echo '>CHAR</td>
  365. <td align=center>O</td>
  366. <td>&nbsp</td>
  367. <td>&nbsp</td>
  368. <td>&nbsp</td>
  369. <td align=center>O</td>
  370. </tr>
  371. <tr>
  372. <td><input type=radio name=type value="VARCHAR" '; if( $type == "varchar" ) echo "checked";echo '>VARCHAR</td>
  373. <td align=center>O</td>
  374. <td>&nbsp</td>
  375. <td>&nbsp</td>
  376. <td>&nbsp</td>
  377. <td align=center>O</td>
  378. </tr>
  379. <tr>
  380. <td><input type=radio name=type value="TINYTEXT" '; if( $type == "tinytext" ) echo "checked";echo '>TINYTEXT (0 ~ 255)</td>
  381. <td>&nbsp</td>
  382. <td>&nbsp</td>
  383. <td>&nbsp</td>
  384. <td>&nbsp</td>
  385. <td>&nbsp</td>
  386. </tr>
  387. <tr>
  388. <td><input type=radio name=type value="TEXT" '; if( $type == "text" ) echo "checked";echo '>TEXT (0 ~ 65535)</td>
  389. <td>&nbsp</td>
  390. <td>&nbsp</td>
  391. <td>&nbsp</td>
  392. <td>&nbsp</td>
  393. <td>&nbsp</td>
  394. </tr>
  395. <tr>
  396. <td><input type=radio name=type value="MEDIUMTEXT" '; if( $type == "mediumtext" ) echo "checked";echo '>MEDIUMTEXT (0 ~ 16777215)</td>
  397. <td>&nbsp</td>
  398. <td>&nbsp</td>
  399. <td>&nbsp</td>
  400. <td>&nbsp</td>
  401. <td>&nbsp</td>
  402. </tr>
  403. <tr>
  404. <td><input type=radio name=type value="LONGTEXT" '; if( $type == "longtext" ) echo "checked";echo '>LONGTEXT (0 ~ 4294967295)</td>
  405. <td>&nbsp</td>
  406. <td>&nbsp</td>
  407. <td>&nbsp</td>
  408. <td>&nbsp</td>
  409. <td>&nbsp</td>
  410. </tr>
  411. <tr>
  412. <td><input type=radio name=type value="TINYBLOB" '; if( $type == "tinyblob" ) echo "checked";echo '>TINYBLOB (0 ~ 255)</td>
  413. <td>&nbsp</td>
  414. <td>&nbsp</td>
  415. <td>&nbsp</td>
  416. <td>&nbsp</td>
  417. <td>&nbsp</td>
  418. </tr>
  419. <tr>
  420. <td><input type=radio name=type value="BLOB" '; if( $type == "blob" ) echo "checked";echo '>BLOB (0 ~ 65535)</td>
  421. <td>&nbsp</td>
  422. <td>&nbsp</td>
  423. <td>&nbsp</td>
  424. <td>&nbsp</td>
  425. <td>&nbsp</td>
  426. </tr>
  427. <tr>
  428. <td><input type=radio name=type value="MEDIUMBLOB" '; if( $type == "mediumblob" ) echo "checked";echo '>MEDIUMBLOB (0 ~ 16777215)</td>
  429. <td>&nbsp</td>
  430. <td>&nbsp</td>
  431. <td>&nbsp</td>
  432. <td>&nbsp</td>
  433. <td>&nbsp</td>
  434. </tr>
  435. <tr>
  436. <td><input type=radio name=type value="LONGBLOB" '; if( $type == "longblob" ) echo "checked";echo '>LONGBLOB (0 ~ 4294967295)</td>
  437. <td>&nbsp</td>
  438. <td>&nbsp</td>
  439. <td>&nbsp</td>
  440. <td>&nbsp</td>
  441. <td>&nbsp</td>
  442. </tr>
  443. <tr>
  444. <td><input type=radio name=type value="ENUM" '; if( $type == "enum" ) echo "checked";echo '>ENUM</td>
  445. <td colspan=5><center>value list</center></td>
  446. </tr>
  447. <tr>
  448. <td><input type=radio name=type value="SET" '; if( $type == "set" ) echo "checked";echo '>SET</td>
  449. <td colspan=5><center>value list</center></td>
  450. </tr>
  451. </table>
  452. <table>
  453. <tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value list (ex: \'apple\', \'orange\', \'banana\') </th></tr>
  454. <tr>
  455. <td align=center><input type=text size=4 name=M '; if( $M != "" ) echo "value=$M";echo '></td>
  456. <td align=center><input type=text size=4 name=D '; if( $D != "" ) echo "value=$D";echo '></td>
  457. <td align=center><input type=checkbox name=unsigned value="UNSIGNED" '; if( strpos( $fieldtype, "unsigned" ) ) echo "checked";echo '></td>
  458. <td align=center><input type=checkbox name=zerofill value="ZEROFILL" '; if( strpos( $fieldtype, "zerofill" ) ) echo "checked";echo '></td>
  459. <td align=center><input type=checkbox name=binary value="BINARY" '; if( strpos( $fieldtype, "binary" ) ) echo "checked";echo '></td>
  460. <td align=center><input type=text size=60 name=valuelist '; if( $valuelist != "" ) echo "value=\"$valuelist\"";echo '></td>
  461. </tr>
  462. </table>
  463. <h3>Flags</h3>
  464. <table>
  465. <tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr>
  466. <tr>
  467. <td align=center><input type=checkbox name=not_null value="NOT NULL" '; if( $fieldnull != "YES" ) echo "checked";echo '></td>
  468. <td align=center><input type=text name=default_value '; if( $fielddefault != "" ) echo "value=$fielddefault";echo '></td>
  469. <td align=center><input type=checkbox name=auto_increment value="AUTO_INCREMENT" '; if( $fieldextra == "auto_increment" ) echo "checked";echo '></td>
  470. <td align=center><input type=checkbox name=primary_key value="PRIMARY KEY" '; if( $fieldkey == "PRI" ) echo "checked";echo '></td>
  471. </tr>
  472. </table>
  473. <p>';
  474. if( $cmd == "add" )
  475. echo "<input type=submit value='Add Field'>\n";
  476. else if( $cmd == "edit" )
  477. echo "<input type=submit value='Edit Field'>\n";
  478. echo "<input type=button value=Cancel onClick='history.back()'>\n";
  479. echo "</form>\n";
  480. }
  481. function manageField_submit( $cmd ) {
  482. global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, $PHP_SELF, $queryStr, $errMsg,
  483. $M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, $auto_increment, $primary_key, $valuelist;
  484. if( $cmd == "add" )
  485. $queryStr = "ALTER TABLE $tablename ADD $name ";
  486. else if( $cmd == "edit" )
  487. $queryStr = "ALTER TABLE $tablename CHANGE $old_name $name ";
  488. if( $M != "" )
  489. if( $D != "" )
  490. $queryStr .= "$type($M,$D) ";
  491. else
  492. $queryStr .= "$type($M) ";
  493. else if( $valuelist != "" ) {
  494. $valuelist = stripslashes( $valuelist );
  495. $queryStr .= "$type($valuelist) ";
  496. } else
  497. $queryStr .= "$type ";
  498. $queryStr .= "$unsigned $zerofill $binary ";
  499. if( $default_value != "" )
  500. $queryStr .= "DEFAULT '$default_value' ";
  501. $queryStr .= "$not_null $auto_increment";
  502. mysql_select_db( $dbname, $mysqlHandle );
  503. mysql_query( $queryStr, $mysqlHandle );
  504. $errMsg = mysql_error();
  505. // key change
  506. $keyChange = false;
  507. $result = mysql_query( "SHOW KEYS FROM $tablename" );
  508. $primary = "";
  509. while( $row = mysql_fetch_array($result) )
  510. if( $row["Key_name"] == "PRIMARY" ) {
  511. if( $row[Column_name] == $name )
  512. $keyChange = true;
  513. else
  514. $primary .= ", $row[Column_name]";
  515. }
  516. if( $primary_key == "PRIMARY KEY" ) {
  517. $primary .= ", $name";
  518. $keyChange = !$keyChange;
  519. }
  520. $primary = substr( $primary, 2 );
  521. if( $keyChange == true ) {
  522. $q = "ALTER TABLE $tablename DROP PRIMARY KEY";
  523. mysql_query( $q );
  524. $queryStr .= "<br>\n" . $q;
  525. $errMsg .= "<br>\n" . mysql_error();
  526. $q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )";
  527. mysql_query( $q );
  528. $queryStr .= "<br>\n" . $q;
  529. $errMsg .= "<br>\n" . mysql_error();
  530. }
  531. viewSchema();
  532. }
  533. function dropField() {
  534. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  535. $queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname";
  536. mysql_select_db( $dbname, $mysqlHandle );
  537. mysql_query( $queryStr , $mysqlHandle );
  538. $errMsg = mysql_error();
  539. viewSchema();
  540. }
  541. function viewData( $queryStr ) {
  542. global $action, $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, $rowperpage, $orderby;
  543. echo "<h1>Data in Table</h1>\n";
  544. if( $tablename != "" )
  545. echo "<p class=location>$dbname > $tablename</p>\n";
  546. else
  547. echo "<p class=location>$dbname</p>\n";
  548. $queryStr = stripslashes( $queryStr );
  549. if( $queryStr == "" ) {
  550. $queryStr = "SELECT * FROM $tablename";
  551. if( $orderby != "" )
  552. $queryStr .= " ORDER BY $orderby";
  553. echo "<a href='$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename'>Add Data</a> | \n";
  554. echo "<a href='$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename'>Schema</a>\n";
  555. }
  556. $pResult = mysql_db_query( $dbname, $queryStr );
  557. $fieldt = mysql_fetch_field($pResult);
  558. $tablename = $fieldt->table;
  559. $errMsg = mysql_error();
  560. $GLOBALS[queryStr] = $queryStr;
  561. if( $pResult == false ) {
  562. echoQueryResult();
  563. return;
  564. }
  565. if( $pResult == 1 ) {
  566. $errMsg = "Success";
  567. echoQueryResult();
  568. return;
  569. }
  570. echo "<hr>\n";
  571. $row = mysql_num_rows( $pResult );
  572. $col = mysql_num_fields( $pResult );
  573. if( $row == 0 ) {
  574. echo "No Data Exist!";
  575. return;
  576. }
  577. if( $rowperpage == "" ) $rowperpage = 30;
  578. if( $page == "" ) $page = 0;
  579. else $page--;
  580. mysql_data_seek( $pResult, $page * $rowperpage );
  581. echo "<table cellspacing=1 cellpadding=2>\n";
  582. echo "<tr>\n";
  583. for( $i = 0; $i < $col; $i++ ) {
  584. $field = mysql_fetch_field( $pResult, $i );
  585. echo "<th>";
  586. if($action == "viewData")
  587. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&orderby=".$field->name."'>".$field->name."</a>\n";
  588. else
  589. echo "<font style='text-decoration:none;color:#000000;font-size:x-small;'>".$field->name."</font>\n";
  590. echo "</th>\n";
  591. }
  592. echo "<th colspan=2>Action</th>\n";
  593. echo "</tr>\n";
  594. for( $i = 0; $i < $rowperpage; $i++ ) {
  595. $rowArray = mysql_fetch_row( $pResult );
  596. if( $rowArray == false ) break;
  597. echo "<tr>\n";
  598. $key = "";
  599. for( $j = 0; $j < $col; $j++ ) {
  600. $data = $rowArray[$j];
  601. $field = mysql_fetch_field( $pResult, $j );
  602. if( $field->primary_key == 1 )
  603. $key .= "&" . $field->name . "=" . $data;
  604. if( strlen( $data ) > 30 )
  605. $data = substr( $data, 0, 30 ) . "...";
  606. $data = htmlspecialchars( $data );
  607. echo "<td>\n";
  608. echo "$data\n";
  609. echo "</td>\n";
  610. }
  611. if( $key == "" )
  612. echo "<td colspan=2>no Key</td>\n";
  613. else {
  614. echo "<td><a href='$PHP_SELF?action=editData$key&dbname=$dbname&tablename=$tablename'>Edit</a></td>\n";
  615. echo "<td><a href='$PHP_SELF?action=deleteData$key&dbname=$dbname&tablename=$tablename' onClick=\"return confirm('Delete Row?')\">Delete</a></td>\n";
  616. }
  617. echo "</tr>\n";
  618. }
  619. echo "</table>\n";
  620. echo "<font size=2>\n";
  621. if($action == "viewData")
  622. echo "<form action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename' method=post>\n";
  623. else
  624. echo "<form action='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr' method=post>\n";
  625. echo "<font color=green>\n";
  626. echo ($page+1)."/".(int)($row/$rowperpage+1)." page";
  627. echo "</font>\n";
  628. echo " | ";
  629. if( $page > 0 ) {
  630. if($action == "viewData")
  631. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page);
  632. else
  633. echo "<a href='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page);
  634. if( $orderby != "" && $action == "viewData")
  635. echo "&orderby=$orderby";
  636. echo "'>Prev</a>\n";
  637. } else
  638. echo "Prev";
  639. echo " | ";
  640. if( $page < ($row/$rowperpage)-1 ) {
  641. if($action == "viewData")
  642. echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2);
  643. else
  644. echo "<a href='$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page+2);
  645. if( $orderby != "" && $action == "viewData")
  646. echo "&orderby=$orderby";
  647. echo "'>Next</a>\n";
  648. } else
  649. echo "Next";
  650. echo " | ";
  651. if( $row > $rowperpage ) {
  652. echo "<input type=text size=4 name=page>\n";
  653. echo "<input type=submit value='Go'>\n";
  654. }
  655. echo "</form>\n";
  656. echo "</font>\n";
  657. }
  658. function manageData( $cmd ) {
  659. global $mysqlHandle, $dbname, $tablename, $PHP_SELF;
  660. if( $cmd == "add" )
  661. echo "<h1>Add Data</h1>\n";
  662. else if( $cmd == "edit" ) {
  663. echo "<h1>Edit Data</h1>\n";
  664. $pResult = mysql_list_fields( $dbname, $tablename );
  665. $num = mysql_num_fields( $pResult );
  666. $key = "";
  667. for( $i = 0; $i < $num; $i++ ) {
  668. $field = mysql_fetch_field( $pResult, $i );
  669. if( $field->primary_key == 1 )
  670. if( $field->numeric == 1 )
  671. $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  672. else
  673. $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  674. }
  675. $key = substr( $key, 0, strlen($key)-4 );
  676. mysql_select_db( $dbname, $mysqlHandle );
  677. $pResult = mysql_query( $queryStr = "SELECT * FROM $tablename WHERE $key", $mysqlHandle );
  678. $data = mysql_fetch_array( $pResult );
  679. }
  680. echo "<p class=location>$dbname > $tablename</p>\n";
  681. echo "<form action='$PHP_SELF' method=post>\n";
  682. if( $cmd == "add" )
  683. echo "<input type=hidden name=action value=addData_submit>\n";
  684. else if( $cmd == "edit" )
  685. echo "<input type=hidden name=action value=editData_submit>\n";
  686. echo "<input type=hidden name=dbname value=$dbname>\n";
  687. echo "<input type=hidden name=tablename value=$tablename>\n";
  688. echo "<table cellspacing=1 cellpadding=2>\n";
  689. echo "<tr>\n";
  690. echo "<th>Name</th>\n";
  691. echo "<th>Type</th>\n";
  692. echo "<th>Function</th>\n";
  693. echo "<th>Data</th>\n";
  694. echo "</tr>\n";
  695. $pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
  696. $num = mysql_num_rows( $pResult );
  697. $pResultLen = mysql_list_fields( $dbname, $tablename );
  698. for( $i = 0; $i < $num; $i++ ) {
  699. $field = mysql_fetch_array( $pResult );
  700. $fieldname = $field["Field"];
  701. $fieldtype = $field["Type"];
  702. $len = mysql_field_len( $pResultLen, $i );
  703. echo "<tr>";
  704. echo "<td>$fieldname</td>";
  705. echo "<td>".$field["Type"]."</td>";
  706. echo "<td>\n";
  707. echo "<select name=${fieldname}_function>\n";
  708. echo "<option>\n";
  709. echo "<option>ASCII\n";
  710. echo "<option>CHAR\n";
  711. echo "<option>SOUNDEX\n";
  712. echo "<option>CURDATE\n";
  713. echo "<option>CURTIME\n";
  714. echo "<option>FROM_DAYS\n";
  715. echo "<option>FROM_UNIXTIME\n";
  716. echo "<option>NOW\n";
  717. echo "<option>PASSWORD\n";
  718. echo "<option>PERIOD_ADD\n";
  719. echo "<option>PERIOD_DIFF\n";
  720. echo "<option>TO_DAYS\n";
  721. echo "<option>USER\n";
  722. echo "<option>WEEKDAY\n";
  723. echo "<option>RAND\n";
  724. echo "</select>\n";
  725. echo "</td>\n";
  726. $value = htmlspecialchars($data[$i]);
  727. if( $cmd == "add" ) {
  728. $type = strtok( $fieldtype, " (,)\n" );
  729. if( $type == "enum" || $type == "set" ) {
  730. echo "<td>\n";
  731. if( $type == "enum" )
  732. echo "<select name=$fieldname>\n";
  733. else if( $type == "set" )
  734. echo "<select name=$fieldname size=4 multiple>\n";
  735. while( $str = strtok( "'" ) ) {
  736. echo "<option>$str\n";
  737. strtok( "'" );
  738. }
  739. echo "</select>\n";
  740. echo "</td>\n";
  741. } else {
  742. if( $len < 40 )
  743. echo "<td><input type=text size=40 maxlength=$len name=$fieldname></td>\n";
  744. else
  745. echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname></textarea>\n";
  746. }
  747. } else if( $cmd == "edit" ) {
  748. $type = strtok( $fieldtype, " (,)\n" );
  749. if( $type == "enum" || $type == "set" ) {
  750. echo "<td>\n";
  751. if( $type == "enum" )
  752. echo "<select name=$fieldname>\n";
  753. else if( $type == "set" )
  754. echo "<select name=$fieldname size=4 multiple>\n";
  755. while( $str = strtok( "'" ) ) {
  756. if( $value == $str )
  757. echo "<option selected>$str\n";
  758. else
  759. echo "<option>$str\n";
  760. strtok( "'" );
  761. }
  762. echo "</select>\n";
  763. echo "</td>\n";
  764. } else {
  765. if( $len < 40 )
  766. echo "<td><input type=text size=40 maxlength=$len name=$fieldname value=\"$value\"></td>\n";
  767. else
  768. echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname>$value</textarea>\n";
  769. }
  770. }
  771. echo "</tr>";
  772. }
  773. echo "</table><p>\n";
  774. if( $cmd == "add" )
  775. echo "<input type=submit value='Add Data'>\n";
  776. else if( $cmd == "edit" )
  777. echo "<input type=submit value='Edit Data'>\n";
  778. echo "<input type=button value='Cancel' onClick='history.back()'>\n";
  779. echo "</form>\n";
  780. }
  781. function manageData_submit( $cmd ) {
  782. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  783. $pResult = mysql_list_fields( $dbname, $tablename );
  784. $num = mysql_num_fields( $pResult );
  785. mysql_select_db( $dbname, $mysqlHandle );
  786. if( $cmd == "add" )
  787. $queryStr = "INSERT INTO $tablename VALUES (";
  788. else if( $cmd == "edit" )
  789. $queryStr = "REPLACE INTO $tablename VALUES (";
  790. for( $i = 0; $i < $num-1; $i++ ) {
  791. $field = mysql_fetch_field( $pResult );
  792. $func = $GLOBALS[$field->name."_function"];
  793. if( $func != "" )
  794. $queryStr .= " $func(";
  795. if( $field->numeric == 1 ) {
  796. $queryStr .= $GLOBALS[$field->name];
  797. if( $func != "" )
  798. $queryStr .= "),";
  799. else
  800. $queryStr .= ",";
  801. } else {
  802. $queryStr .= "'" . $GLOBALS[$field->name];
  803. if( $func != "" )
  804. $queryStr .= "'),";
  805. else
  806. $queryStr .= "',";
  807. }
  808. }
  809. $field = mysql_fetch_field( $pResult );
  810. if( $field->numeric == 1 )
  811. $queryStr .= $GLOBALS[$field->name] . ")";
  812. else
  813. $queryStr .= "'" . $GLOBALS[$field->name] . "')";
  814. mysql_query( $queryStr , $mysqlHandle );
  815. $errMsg = mysql_error();
  816. viewData( "" );
  817. }
  818. function deleteData() {
  819. global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;
  820. $pResult = mysql_list_fields( $dbname, $tablename );
  821. $num = mysql_num_fields( $pResult );
  822. $key = "";
  823. for( $i = 0; $i < $num; $i++ ) {
  824. $field = mysql_fetch_field( $pResult, $i );
  825. if( $field->primary_key == 1 )
  826. if( $field->numeric == 1 )
  827. $key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
  828. else
  829. $key .= $field->name . "='" . $GLOBALS[$field->name] . "' AND ";
  830. }
  831. $key = substr( $key, 0, strlen($key)-4 );
  832. mysql_select_db( $dbname, $mysqlHandle );
  833. $queryStr = "DELETE FROM $tablename WHERE $key";
  834. mysql_query( $queryStr, $mysqlHandle );
  835. $errMsg = mysql_error();
  836. viewData( "" );
  837. }
  838. function fetch_table_dump_sql($table)
  839. {
  840. global $mysqlHandle,$dbname;
  841. mysql_select_db( $dbname, $mysqlHandle );
  842. $query_id = mysql_query("SHOW CREATE TABLE $table",$mysqlHandle);
  843. $tabledump = mysql_fetch_array($query_id, MYSQL_ASSOC);
  844. $tabledump = "DROP TABLE IF EXISTS $table;\n" . $tabledump['Create Table'] . ";\n\n";
  845. echo $tabledump;
  846. // get data
  847. $rows = mysql_query("SELECT * FROM $table",$mysqlHandle);
  848. $numfields=mysql_num_fields($rows);
  849. while ($row = mysql_fetch_array($rows, MYSQL_NUM))
  850. {
  851. $tabledump = "INSERT INTO $table VALUES(";
  852. $fieldcounter = -1;
  853. $firstfield = 1;
  854. // get each field's data
  855. while (++$fieldcounter < $numfields)
  856. {
  857. if (!$firstfield)
  858. {
  859. $tabledump .= ', ';
  860. }
  861. else
  862. {
  863. $firstfield = 0;
  864. }
  865. if (!isset($row["$fieldcounter"]))
  866. {
  867. $tabledump .= 'NULL';
  868. }
  869. else
  870. {
  871. $tabledump .= "'" . mysql_escape_string($row["$fieldcounter"]) . "'";
  872. }
  873. }
  874. $tabledump .= ");\n";
  875. echo $tabledump;
  876. }
  877. @mysql_free_result($rows);
  878. }
  879. function dump() {
  880. global $mysqlHandle, $action, $dbname, $tablename;
  881. if( $action == "dumpTable" ){
  882. header("Content-disposition: filename=$tablename.sql");
  883. header('Content-type: unknown/unknown');
  884. fetch_table_dump_sql($tablename);
  885. echo "\n\n\n";
  886. echo "\r\n\r\n\r\n### $tablename TABLE DUMP COMPLETED ###";
  887. exit;
  888. }else{
  889. header("Content-disposition: filename=$dbname.sql");
  890. header('Content-type: unknown/unknown');
  891. mysql_select_db( $dbname, $mysqlHandle );
  892. $query_id = mysql_query("SHOW tables",$mysqlHandle);
  893. while ($row = mysql_fetch_array($query_id, MYSQL_NUM))
  894. {
  895. fetch_table_dump_sql($row[0]);
  896. echo "\n\n\n";
  897. echo "\r\n\r\n\r\n### $row[0] TABLE DUMP COMPLETED ###";
  898. echo "\n\n\n";
  899. }
  900. echo "\r\n\r\n\r\n### $dbname DATABASE DUMP COMPLETED ###";
  901. exit;
  902. }
  903. }
  904. function utils() {
  905. global $PHP_SELF, $command;
  906. echo "<h1>Utilities</h1>\n";
  907. if( $command == "" || substr( $command, 0, 5 ) == "flush" ) {
  908. echo "<hr>\n";
  909. echo "Show\n";
  910. echo "<ul>\n";
  911. echo "<li><a href='$PHP_SELF?action=utils&command=show_status'>Status</a>\n";
  912. echo "<li><a href='$PHP_SELF?action=utils&command=show_variables'>Variables</a>\n";
  913. echo "<li><a href='$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\n";
  914. echo "</ul>\n";
  915. echo "Flush\n";
  916. echo "<ul>\n";
  917. echo "<li><a href='$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\n";
  918. if( $command == "flush_hosts" ) {
  919. if( mysql_query( "Flush hosts" ) != false )
  920. echo "<font size=2 color=red>- Success</font>";
  921. else
  922. echo "<font size=2 color=red>- Fail</font>";
  923. }
  924. echo "<li><a href='$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\n";
  925. if( $command == "flush_logs" ) {
  926. if( mysql_query( "Flush logs" ) != false )
  927. echo "<font size=2 color=red>- Success</font>";
  928. else
  929. echo "<font size=2 color=red>- Fail</font>";
  930. }
  931. echo "<li><a href='$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\n";
  932. if( $command == "flush_privileges" ) {
  933. if( mysql_query( "Flush privileges" ) != false )
  934. echo "<font size=2 color=red>- Success</font>";
  935. else
  936. echo "<font size=2 color=red>- Fail</font>";
  937. }
  938. echo "<li><a href='$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\n";
  939. if( $command == "flush_tables" ) {
  940. if( mysql_query( "Flush tables" ) != false )
  941. echo "<font size=2 color=red>- Success</font>";
  942. else
  943. echo "<font size=2 color=red>- Fail</font>";
  944. }
  945. echo "<li><a href='$PHP_SELF?action=utils&command=flush_status'>Status</a>\n";
  946. if( $command == "flush_status" ) {
  947. if( mysql_query( "Flush status" ) != false )
  948. echo "<font size=2 color=red>- Success</font>";
  949. else
  950. echo "<font size=2 color=red>- Fail</font>";
  951. }
  952. echo "</ul>\n";
  953. } else {
  954. $queryStr = ereg_replace( "_", " ", $command );
  955. $pResult = mysql_query( $queryStr );
  956. if( $pResult == false ) {
  957. echo "Fail";
  958. return;
  959. }
  960. $col = mysql_num_fields( $pResult );
  961. echo "<p class=location>$queryStr</p>\n";
  962. echo "<hr>\n";
  963. echo "<table cellspacing=1 cellpadding=2 border=0>\n";
  964. echo "<tr>\n";
  965. for( $i = 0; $i < $col; $i++ ) {
  966. $field = mysql_fetch_field( $pResult, $i );
  967. echo "<th>".$field->name."</th>\n";
  968. }
  969. echo "</tr>\n";
  970. while( 1 ) {
  971. $rowArray = mysql_fetch_row( $pResult );
  972. if( $rowArray == false ) break;
  973. echo "<tr>\n";
  974. for( $j = 0; $j < $col; $j++ )
  975. echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>\n";
  976. echo "</tr>\n";
  977. }
  978. echo "</table>\n";
  979. }
  980. }
  981. function header_html() {
  982. global $PHP_SELF;
  983. echo '
  984. <html>
  985. <head>
  986. <title>MySQL Interface</title>
  987. <style type="text/css">
  988. <!--
  989. p.location {
  990. color: #11bb33;
  991. font-size: small;
  992. }
  993. h1 {
  994. color: #A4A260;
  995. }
  996. th {
  997. background-color: #BDBE42;
  998. color: #FFFFFF;
  999. font-size: x-small;
  1000. }
  1001. td {
  1002. background-color: #DEDFA5;
  1003. font-size: x-small;
  1004. }
  1005. form {
  1006. margin-top: 0;
  1007. margin-bottom: 0;
  1008. }
  1009. a {
  1010. text-decoration:none;
  1011. color: #848200;
  1012. font-size:x-small;
  1013. }
  1014. a:link {
  1015. }
  1016. a:hover {
  1017. background-color:#EEEFD5;
  1018. color:#646200;
  1019. text-decoration:none
  1020. }
  1021. //-->
  1022. </style>
  1023. </head>
  1024. <body>
  1025. ';
  1026. }
  1027. function footer_html() {
  1028. global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME;
  1029. echo "<hr>\n";
  1030. echo "<font size=2 color=blue>[$USERNAME]</font> - \n";
  1031. echo "<a href='$PHP_SELF?action=listDBs'>Database List</a> | \n";
  1032. if( $tablename != "" )
  1033. echo "<a href='$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename'>Table List</a> | ";
  1034. echo "<a href='$PHP_SELF?action=utils'>Utils</a> |\n";
  1035. echo "<a href='$PHP_SELF?action=logout'>Logout</a>\n";
  1036. echo "</font>\n";
  1037. echo "</body>\n";
  1038. echo "</html>\n";
  1039. }
  1040. //------------- MAIN ------------- //
  1041. error_reporting(0);
  1042. ini_set ('display_errors', 0);
  1043. ini_set ('log_errors', 0);
  1044. if( $action == "logon" || $action == "" || $action == "logout" )
  1045. logon();
  1046. else if( $action == "logon_submit" )
  1047. logon_submit();
  1048. else if( $action == "dumpTable" || $action == "dumpDB" ) {
  1049. while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  1050. if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  1051. if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  1052. if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  1053. }
  1054. $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  1055. dump();
  1056. } else {
  1057. while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
  1058. if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
  1059. if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
  1060. if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
  1061. }
  1062. echo "<!--";
  1063. $mysqlHandle = mysql_pconnect( $HOSTNAME, $USERNAME, $PASSWORD );
  1064. echo "-->";
  1065. if( $mysqlHandle == false ) {
  1066. echo "<html>\n";
  1067. echo "<head>\n";
  1068. echo "<title>MySQL Interface</title>\n";
  1069. echo "</head>\n";
  1070. echo "<body>\n";
  1071. echo "<table width=100% height=100%><tr><td><center>\n";
  1072. echo "<h1>Wrong Password!</h1>\n";
  1073. echo "<a href='$PHP_SELF?action=logon'>Logon</a>\n";
  1074. echo "</center></td></tr></table>\n";
  1075. echo "</body>\n";
  1076. echo "</html>\n";
  1077. } else {
  1078. header_html();
  1079. if( $action == "listDBs" )
  1080. listDatabases();
  1081. else if( $action == "createDB" )
  1082. createDatabase();
  1083. else if( $action == "dropDB" )
  1084. dropDatabase();
  1085. else if( $action == "listTables" )
  1086. listTables();
  1087. else if( $action == "createTable" )
  1088. createTable();
  1089. else if( $action == "dropTable" )
  1090. dropTable();
  1091. else if( $action == "viewSchema" )
  1092. viewSchema();
  1093. else if( $action == "query" )
  1094. viewData( $queryStr );
  1095. else if( $action == "addField" )
  1096. manageField( "add" );
  1097. else if( $action == "addField_submit" )
  1098. manageField_submit( "add" );
  1099. else if( $action == "editField" )
  1100. manageField( "edit" );
  1101. else if( $action == "editField_submit" )
  1102. manageField_submit( "edit" );
  1103. else if( $action == "dropField" )
  1104. dropField();
  1105. else if( $action == "viewData" )
  1106. viewData( "" );
  1107. else if( $action == "addData" )
  1108. manageData( "add" );
  1109. else if( $action == "addData_submit" )
  1110. manageData_submit( "add" );
  1111. else if( $action == "editData" )
  1112. manageData( "edit" );
  1113. else if( $action == "editData_submit" )
  1114. manageData_submit( "edit" );
  1115. else if( $action == "deleteData" )
  1116. deleteData();
  1117. else if( $action == "utils" )
  1118. utils();
  1119. mysql_close( $mysqlHandle);
  1120. footer_html();
  1121. }
  1122. }
  1123. ?>

comments powered by Disqus