I want to be able to fetch the text, print it on a website, and then remove its row from the database but leave the text printed on the site.
Here is the code I'm using. Anybody that can help me with what I need to change to make it work?
Code: Select all
<?php
function writePost() {
$open = mysql_connect('localhost', 'db_user', 'db_pass');
mysql_select_db('db_name');
$query = "INSERT INTO tabell (entext) VALUES ('" . $_POST["texten"] . "')";
if (mysql_query($query)) {
echo "ok";
mysql_close($open);
} else {
echo("Något blev fel<BR>");
echo ($query);
mysql_close($open);
}
}
function readPost() { // id are sent in $_GET['i']
$open = mysql_connect('localhost', 'db_user', 'db_pass');
mysql_select_db('db_name');
$query = "SELECT entext FROM tabell WHERE id = '" . $_GET['i'] . "'";
$data = mysql_query($query);
while ($rad = mysql_fetch_array($data)) {
echo $rad["entext"];
}
mysql_close($open);
}
function deletePost() { // id are sent in $_GET['i']
$open = mysql_connect('localhost', 'db_user', 'db_pass');
mysql_select_db('db_name');
$query ="DELETE FROM tabell WHERE id = '" . $_GET['i'] . "'";
mysql_query($query);
mysql_close($open);
}
function writeHeader() {
echo "
<HTML><HEAD></HEAD><BODY>
<CENTER>
";
}
function writeFooter() {
echo "
</CENTER></BODY></HTML>
";
}
if ($_GET['m'] == "write"){
writeHeader();
writePost();
writeFooter();
} elseif (strlen($_GET['i']) >= 1){
writeHeader();
readPost();
deletePost();
writeFooter();
} else {
writeHeader();
echo "
<TABLE WIDTH=\"520\" ALIGN=\"top\" BORDER=\"0\" CELLPADDING=\"1\" CELLSPACING=\"0\" BGCOLOR=\"#000000\"><TR><TD>
<TABLE WIDTH=\"100%\" ALIGN=\"top\" BORDER=\"0\" CELLPADDING=\"3\" CELLSPACING=\"0\" BGCOLOR=\"#FFFFFF\">
<TR VALIGN=\"top\">
<TD WIDTH=\"210\">
<FORM METHOD=\"post\" ACTION=\"?m=write\">
<TEXTAREA NAME=\"texten\" ROWS=\"5\" COLS=\"30\">the text that will be printed</TEXTAREA><BR>
<INPUT TYPE=\"submit\" NAME=\"add\" VALUE=\"OK!\">
</FORM>
</TD>
</TR>
</TABLE></TD></TR></TABLE>
";
writeFooter();
}
?>