• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Php5/Mysql Save function dosen't work

Mokerhamer

Retired Global Mod
Senator
Joined
Aug 6, 2007
Messages
1,767
Reaction score
36
Hello,

I'v been working on a website. On the admin page you can edit the text of the site but for some reason it dosen't save when you push save could anyone help me out?

PHP:
<?php
$connect = mysql_connect ("localhost","root","secret") or die ("Kon geen verbinding met MySQL Server tot stand brengen. MySQL error: " . mysql_error()); 
mysql_select_db("nout",$connect) or die("Kon geen verbinding maken met database. MySQL error: " . mysql_error()); 
$query = "SELECT * FROM main"; 
$result = mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error()); 
  if(mysql_num_rows($result) == 0) 
  { 
  echo "Niks gevonden neem a.u.b contact op met munier"; 
  } 
  else 
  { 
while($_POST = mysql_fetch_array($result))
  {
 echo "<INPUT type='tekst' name='tekst' value='$_POST[tekst]'></TD>";
  echo "<br />";
  }
 } 
        mysql_select_db('nout', $connect) or die (mysql_error());
 
        if (isset($_POST['submit']))
        {
                mysql_query("UPDATE `main` SET `tekst` =  '" . $_POST['text'] . "' WHERE id = '". (int) $_POST['id']."'") or die ("Kon query niet uitvoeren: " . mysql_error()); 
                echo 'Geupdate';
        }
 
        $result = mysql_query('SELECT * FROM `main`') or die (mysql_error());
 
        if (mysql_num_rows($result) < 1)
                die ('Geen tekst gevonden neem a.u.b contact op met munier voor hulp');
 
        while ($row = mysql_fetch_array($result))
        {
                echo 'TextID ' . $row['id'] . ': ' . $row['tekst'];
        }
?>
 
<form method="POST" action="<? echo $_SERVER['REQUEST_URI'] ?>">
<font color=red>Id Niet veranderen!</font><td>&nbsp;</td><td>&nbsp;</td>Id: <input TYPE='TEXT' NAME='id' VALUE='1'/>
<TEXTAREA ROWS='20' COLS='40' NAME='text'></TEXTAREA>
<INPUT TYPE='submit' NAME='submit' onClick='return checkForm();' />
</FORM>


Database table main
Code:
-- Tabel structuur voor tabel `main`
--

CREATE TABLE IF NOT EXISTS `main` (
  `id` int(50) NOT NULL auto_increment,
  `tekst` varchar(5000) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Gegevens worden uitgevoerd voor tabel `main`
--

INSERT INTO `main` (`id`, `tekst`) VALUES
(1, 'helloooo');



Untitled.jpg

thanks// Mokerhamer
 
Last edited:
Ahh... can you post a code more cleanly? Btw just maybe $sql = "insert into main values('$tekst')"; is wrong... and this row arleady exist?
 
Oke Korn helped me but it's not perfect yet. The submit function dosen't work yet help me out..


PHP:
<?php
$connect = mysql_connect ("localhost","root","secret") or die ("Kon geen verbinding met MySQL Server tot stand brengen. MySQL error: " . mysql_error()); 
mysql_select_db("nout",$connect) or die("Kon geen verbinding maken met database. MySQL error: " . mysql_error()); 
$query = "SELECT * FROM main"; 
$result = mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error()); 
  if(mysql_num_rows($result) == 0) 
  { 
  echo "Niks gevonden neem a.u.b contact op met munier"; 
  } 
  else 
  { 
while($_POST = mysql_fetch_array($result))
  {
 echo "<INPUT type='tekst' name='tekst' value='$_POST[tekst]'></TD>";
  echo "<br />";
  }
 } 
        mysql_select_db('nout', $connect) or die (mysql_error());
 
        if (isset($_POST['submit']))
        {
                mysql_query("UPDATE `main` SET `tekst` =  '" . $_POST['text'] . "' WHERE id = '". (int) $_POST['id']."'") or die ("Kon query niet uitvoeren: " . mysql_error()); 
                echo 'Geupdate';
        }
 
        $result = mysql_query('SELECT * FROM `main`') or die (mysql_error());
 
        if (mysql_num_rows($result) < 1)
                die ('Geen tekst gevonden neem a.u.b contact op met munier voor hulp');
 
        while ($row = mysql_fetch_array($result))
        {
                echo 'TextID ' . $row['id'] . ': ' . $row['tekst'];
        }
?>
 
<form method="POST" action="<? echo $_SERVER['REQUEST_URI'] ?>">
<font color=red>Id Niet veranderen!</font><td>&nbsp;</td><td>&nbsp;</td>Id: <input TYPE='TEXT' NAME='id' VALUE='1'/>
<TEXTAREA ROWS='20' COLS='40' NAME='text'></TEXTAREA>
<INPUT TYPE='submit' NAME='submit' onClick='return checkForm();' />
</FORM>


Here is an export from my datababase table main

Code:
-- Tabel structuur voor tabel `main`
--

CREATE TABLE IF NOT EXISTS `main` (
  `id` int(50) NOT NULL auto_increment,
  `tekst` varchar(5000) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Gegevens worden uitgevoerd voor tabel `main`
--

INSERT INTO `main` (`id`, `tekst`) VALUES
(1, 'helloooo');
 
It's logicall problem.
Cause this part:
Code:
while($_POST = mysql_fetch_array($result))
  {
 echo "<INPUT type='tekst' name='tekst' value='$_POST[tekst]'></TD>";
  echo "<br />";
  }

overrides $_POST submited in form.

So it would be better to change variable names there and in query.
 
4220Niller helped me and now it works but before i could ask the last question he logged off..

i have a problem with this

PHP:
echo "<INPUT type='tekst' name='tekst' value='".$sql["tekst"]."'>";

i want the text shower way bigger because it shows only 1 line but how?
 
i used

echo "<textarea INPUT type='tekst' ROWS='20' COLS='40' name='tekst' value='".$sql["tekst"]."'></textarea>";

But it wont show me the text from the database only an empty typing place
 
lol? :D

echo "<textarea ROWS='20' COLS='40' name='tekst'>".$sql["tekst"]."</textarea>";

BTW You use a bad HTML syntax ;s it will work but W3 won't pass it.
 
lol? :D

echo "<textarea ROWS='20' COLS='40' name='tekst'>".$sql["tekst"]."</textarea>";

BTW You use a bad HTML syntax ;s it will work but W3 won't pass it.

It worked thanks lol, dont worry i just started learning and i learn very fast :p i wont be n00bz0r anymore :p
 
Back
Top