Voeg topic toe

Als iemand het topic wilt aanmaken, vult hij/zij eerst het formulier in van net en dan moeten wij het weer opvangen en verwerken met diverse beveiligingschecks er in..

dat doen we hier op deze pagina wel even..
wat we willen is eigenlijk:

als er op EEN knop gedrukt is,en die knop is toevallig 'toevoegen',

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
   if(isset($_POST['toevoegen']))
?>

dan kijken of het topictitel is ingevuld
trim haalt de spaties voor en achter de string vandaan.
dus 10spaties wordt gezien als niets ingevuld ;)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(trim($_POST['topic']) == ""){
 echo 'topictitel vergeten?
}

?>

ook even kijken of er een bericht is ingetikt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(trim($_POST['bericht']) == ""){
  echo 'bericht vergeten?
}

?>


en als dit hierboven allemaal klopt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
else{
// 'toevoegen' aan de database, toevoegen staat tussen quotes omdat
// we natuurlijk eerst even moeten checken of er geen ongewenste dingen
// instaan

}
?>


hoe gaan we dit checken dan?

nou als eerste moeten we zorgen dat weer die ' en " wegzijn..
hoe deden we dit net? ja met de mysql_real_escape_string
dat kan nu dus ook, op zowel de topictitel als het bericht
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$topic
= mysql_real_escape_string($_POST['topic']);
// ' en "   -> 'beveiligen'
?>


ook moeten nog even de spaties voor en achter de string verwijderd worden want anders tikt iemand 50spaties in en denken wij dat het tekst is..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$topic
= mysql_real_escape_string($_POST['topic']);
// ' en "   -> 'beveiligen'
$topic = trim($topic);
//spaties weghalen voor en achter string
?>


maar wacht.. we willen ook dat sommige html codes weg moeten
want als iemand intikt <br /><br /><br/ > en dan 100 x is me forum
lelijk geworden.. dus we doen het net iets anders:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$topic
= mysql_real_escape_string($_POST['topic']);
// ' en "   -> 'beveiligen'
$topic = trim($topic);
//spaties weghalen voor en achter string
$topic = htmlentities($topic);
// ongewenste html code weghalen
?>

o maar wat nu als iemand een woord aan elkaar schrijft van 200 tekens..
ja dan is me forum ook niet mooi meer.. nou dan doen we het TOCH nog even net iets anders:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$topic
= wordwrap($_POST['topic'], 100, "\n", true);
// er mogen max 100 tekens per regel komen te staan en
// daarna moet er een enter geplaats worden (vanzelf)

$topic = trim($topic);
//spaties weghalen voor en achter string
$topic = mysql_real_escape_string($topic);
// ' en "  -> 'beveiligen'
$topic = htmlentities($topic);
// ongewenste html code weghalen
?>


zo nu hebben we toch wel redelijk wat we willen..
dit doe je precies hetzelfde voor het bericht..
dan zal het eindresultaat er ongeveer uitzien als:

===========toevoegen_topic.php==============
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
   if(isset($_POST['toevoegen'])){
      if(trim($_POST['topic']) == ""){
          echo 'Je bent de topic titel vergeten';
      }
elseif(trim($_POST['bericht']) == ""){
          echo 'Je bent het bericht vergeten';
      }
else{
          session_start();
          include('verbind.php');
          $topic = trim($_POST['topic']);
          $topic = wordwrap($topic, 100, "\n", true);
          $topic = mysql_real_escape_string($topic);
          $topic = htmlentities($topic);
          $bericht = trim($_POST['bericht']);
          $bericht = wordwrap($bericht, 100, "\n", true);
          $bericht = mysql_real_escape_string($bericht);
          $bericht = htmlentities($bericht);
          $sqlcode = "INSERT INTO topic
               (topic_titel, topic_bericht, gebruiker_id, topic_datumtijd)
                VALUES
    ('"
.$topic."','".$bericht."','".$_SESSION['gebruiker_id']."',now())";
          // now() gebruiken we om de huidige tijd en datum te gebruiken
          $resultaat = mysql_query($sqlcode)or die(mysql_error());
               if($resultaat){
     echo "Toevoegen Gelukt!!<BR>";
     echo "<a href='index.php'>Topic Overzicht</a>";
    }
else{
     echo "Toevoegen Mislukt";
    }
        }
  }
else{
   echo 'Deze actie is niet toegestaan keer <a href="?pagina=forum_overzicht">terug</a> naar het forum.';
  }
}
else{
  echo 'Deze actie is niet toegestaan keer <a href="?pagina=forum_overzicht">terug</a> naar het forum.';
}

?>

===================================

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Database klaarmaken & scriptje voor verbinding sch
  3. Registratie script maken.
  4. Inlogpagina maken
  5. Maak topic
  6. Voeg topic toe
  7. Forum overzicht
  8. Index maken
  9. Bekijk topic
  10. Reactie Toevoegen
  11. Gebruikers pagina en verwijder pagina
  12. Tot slot
  13. o nog een pagina over =P

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.