Skip to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MySQL error

Ik ben al een tijdje bezig met PHP en ik probeer nu een script te maken waarmee ik pagina's kan aanmaken en die dan in een MySQL database te schrijven...

<center><?php 


 include("config.php");
 $naam  = $_POST['naam'];
 $titel  = $_POST['titel'];
 $content = $_POST['content'];

 if($_GET['actie'] == 'aanmaken')
  {
   $query="INSERT INTO paginas (naam, titel, content) 
                 VALUES ($naam,$titel,$content)";
   mysql_query($query) or die (mysql_error());

   echo 'Pagina succesvol aangemaakt !';
  }
 else
  {
?>

<form action="?actie=aanmaken" method="post">
<table width="800" border="0" cellspacing="0" 
          cellpadding="0">
 <tr>
   <td width="250" class="style1">Naam:</td>
   <td width="550"><input name="naam" type="text" 
    width="300"></td>
 </tr>
 <tr>
   <td class="style1">Titel:</td>
   <td><input name="titel" type="text" width="300"></td>
 </tr>
 <tr>
   <td valign="top"><span class="style1">Content</span>
    </td>
   <td><textarea name="content" cols="60" rows="10">
           </textarea></td>
 </tr>
 <tr>
   <td colspan="2" align="center">
        <input name="opslaan" type="submit" value="Opslaan">
   </td>
 </tr>
</table>
</form>
<?php
  }
?> 
<style type="text/css">
<!--
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style></center>

In het config.php word er geconnect met de database

Ik krijg nu deze error als ik het formulier invul en opsla:

CREATE TABLE `paginas` (
`naam` varchar(100) not null,
`titel` varchar(100) not null,
`content` varchar(10000) not null,
PRIMARY KEY(`naam`)
)

Edited by Woetsha

Featured Replies

INSERT INTO paginas (naam, titel, content) VALUES ('" . $naam . "', '" . $titel . "', '" . $content . "')

Dat zou moeten werken. En voor de veiligheid gebruik je beter dit:

INSERT INTO paginas (naam, titel, content) VALUES ('" . addslashes($naam) . "', '" . addslashes($titel) . "', '" . addslashes($content) . "')

Dan moet je als je de inhoud uit je database ophaalt wel terug stripslashes gebruiken om de slashes weg te halen. Maar het zorgt er voor dat mensen dit niet kunnen intypen bv:

'; DROP TABLE tabelnaam;

Want nu wordt er een \' of \" van je aanhalingsteken gemaakt wat ervoor zorgt dat die aanhalingstekens niet gelezen worden door MySQL.

  • Author

Bedankt Argon! _O_

Nu wil ik alles lezen uit de database, hoe doe je dat? Ik wil nu voorbeeld de $content en $titel lezen van de $naam = 'home' , hoe moet ik dat doen ?

Ik had dit ergens gevonden maar ik begrijp het niet...

<?php 

 include('config.php');

 $query = mysql_query("SELECT naam, titel, content FROM paginas");

 while ($obj = mysql_fetch_object($query)) {
  echo $obj->naam.;  
  echo $obj->titel.;
  echo $obj->content.;
  }

 mysql_free_result($query );?>
?>

Bedankt Argon! _O_

Nu wil ik alles lezen uit de database, hoe doe je dat? Ik wil nu voorbeeld de $content en $titel lezen van de $naam = 'home' , hoe moet ik dat doen ?

Ik had dit ergens gevonden maar ik begrijp het niet...

<?php 

  include('config.php');

  $query = mysql_query("SELECT naam, titel, content FROM paginas");

  while ($obj = mysql_fetch_object($query)) {
echo $obj->naam.;  
echo $obj->titel.;
echo $obj->content.;
}

  mysql_free_result($query );?>
?>

Nu krijg je alle rijen van de tabel "paginas" terug. Om 1 rij terug te geven uit de database kan je achteraan voor de zekerheid LIMIT 1 zetten dan krijg je alleen de eerste rij. Uiteraard moet je ook de goede rij hebben dan doe je dat door:

WHERE naam='" . addslashes($naam) . "'

Volgens mij heb je het script ook een beetje bewerkt de puntjes bij die echo's moeten er namelijk niet staan dat is alleen als je nog een string erbij wilt plaatsen dan moet je na die puntjes nog aanhalinstekens plaatsen en daar een string zetten.

<?php 

  include('config.php');

  $query = mysql_query("SELECT naam, titel, content FROM paginas WHERE naam='" . addslashes($naam) . "' LIMIT 1");

  while ($obj = mysql_fetch_object($query)) {
echo $obj->naam;  
echo $obj->titel;
echo $obj->content;
}

  mysql_free_result($query );?>
?>

Dat zou dus moeten doen wat jij wilt denk ik. ;)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.