tekst slaat niet in db op.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sven video

sven video

21/07/2011 11:16:15
Quote Anchor link
hallo ik heb een probleem.
ik krijg geen fout melding maar adres wilt niet opslaan in mijn database.
wie kan mij helpen?

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?
[code]<?
if(isset($_POST['verzenden']))
  {

    $naam         =    addslashes($_POST['naam']);
    $code         =    addslashes($_POST['code']);
    $email        =    addslashes($_POST['email']);
    $titel        =    addslashes($_POST['titel']);
    $text         =    addslashes($_POST['text']);
    $cijfer       =    addslashes($_POST['cijfer']);
    $datum        =    addslashes($_POST['datum']);
    $adres        =    addslashes($_POST['postcode'], $_POST['stad'], $_POST['straatnaam'], $_POST['huisnummer']);

    mysql_query("INSERT INTO attracties (naam, code, email, titel, text, cijfer, datum, adres)
    VALUES ('"
.$naam."','".$code."','".$email."','".$titel."','".$text."','".$cijfer."','".$datum."','".$adres."')") or die (mysql_error());

    echo 'Je gegevens zijn succesvol in de database geplaatst<br><a href="atractie.php">klik hier om terug te gaan.</a>';
  }

else
  {
?>

<form action="atractie.toevoegen.php" method="POST">
<table width="200" border="0" align="center">
  <tr>
    <td align="right">gebruikersnaam: </td>
    <td><input type="text" name="naam" /></td>
  </tr>
  <tr>
    <td align="right">wachtwoord: </td>
    <td><input type="text" name="code" /></td>
  </tr>
  <tr>
    <td align="right">e-mail: </td>
    <td><input type="text" name="email" /></td>
  </tr>
  <tr>
    <td align="right">titel: </td>
    <td><input type="text" name="titel" /></td>
  </tr>
  <tr>
    <td align="right">text: </td>
    <td><textarea name="text" cols=40 rows=6></textarea></td>
  </tr>
  <tr>
    <td align="right">cijfer:</td>
    <td><input type="text" name="cijfer" /></td>
  </tr>
  <tr>
    <td align="right">wanneer: </td>
    <td><input type="text" name="datum" value="dd-mm-jjjj" /></td>
  </tr>
  <tr>
    <td align="right">adres: </td>
    <td><input type="text" name="postcode" value="postcode" /><input type="text" name="stad" value="stad" />
<input type="text" name="straatnaam" value="straatnaam" /><input type="text" name="huisnummer" value="huisnummer" /></td>
  </tr>
  <tr>
    <td align="right"><input type="submit" name="verzenden" value="verzenden"></td>
    <td></td>
  </tr>
</table>

</form>
<?
  }
?>

?>
 
PHP hulp

PHP hulp

19/04/2024 21:56:59
 
Kasper Heyndrickx

Kasper Heyndrickx

21/07/2011 11:20:13
Quote Anchor link
Hallo

Maak eens gebruik van mysql_real_escape_string in plaats van addslashes?

En ik weet niet of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$adres
        =    addslashes($_POST['postcode'], $_POST['stad'], $_POST['straatnaam'], $_POST['huisnummer']);
?>

wel mag?
Probeer eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$adres
        =    addslashes($_POST['postcode'] . $_POST['stad'] . $_POST['straatnaam'] . $_POST['huisnummer']);

//met mysql_real_escape_string:

$adres        =    mysql_real_escape_string($_POST['postcode'] . $_POST['stad'] . $_POST['straatnaam'] . $_POST['huisnummer']);
?>


Mvg Kasper
Gewijzigd op 21/07/2011 11:20:40 door Kasper Heyndrickx
 
- Ariën  -
Beheerder

- Ariën -

21/07/2011 11:26:28
Quote Anchor link
Waar is je fout-afhandeling op je query?

En dit is ook fout:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($_POST['verzenden'])) ?>


Daar hebben we dit voor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($_SERVER['REQUEST_METHOD']=="POST") ?>
Gewijzigd op 21/07/2011 11:27:36 door - Ariën -
 
Sven video

sven video

21/07/2011 11:42:01
Quote Anchor link
bedankt maar hoe zorg ik er voor dat er een spatie tussen zit?
 
Kasper Heyndrickx

Kasper Heyndrickx

21/07/2011 11:47:10
Quote Anchor link
Hallo

Door gebruik te maken van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$test
= "twee" . " " . "woorden";
?>


De ruimte tussen die punten kan je evengoed weg laten hoor, "." of " . " maakt niets uit..

Mvg Kasper
 
Sven video

sven video

21/07/2011 11:51:39
Quote Anchor link
kijk ik heb nu dit maar het werkt niet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$adres
        =    addslashes("$_POST['postcode']" . " " . "$_POST['stad']" . " " . "$_POST['straatnaam']" . " " . "$_POST['huisnummer']");
?>


ps. op de website waar ik het maak krijg ik geen fout melding
 
Kasper Heyndrickx

Kasper Heyndrickx

21/07/2011 11:57:00
Quote Anchor link
zoals eerder vermeld: maak gebruik van mysql_real_escape_string

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$adres
        =    mysql_real_escape_string($_POST['postcode'] . " " . $_POST['stad'] . " " . $_POST['straatnaam'] . " " . $_POST['huisnummer']);
?>
 
- Ariën  -
Beheerder

- Ariën -

21/07/2011 12:21:11
Quote Anchor link
En gebruik foutafhandeling....
Dan zal je zeker wel een foutmelding krijgen.
 
Sven video

sven video

21/07/2011 12:29:27
Quote Anchor link
ja bedankt het is gelukt!
 
Jordi Kroon

Jordi Kroon

21/07/2011 13:36:19
Quote Anchor link
sven leert het ook nooit he.

Geen onnodig variabelen aanmaken.
Geen or die maar correcte fouthandeling.
mysql injectie gevaar.
$_SERVER['REQUEST_METHOD'] == 'POST' ipv if(isset($_POST['verzenden']))
 
- Ariën  -
Beheerder

- Ariën -

21/07/2011 13:45:20
Quote Anchor link
Misschien heeft hij het nu juist wel geleerd ;-)
 
Jordi Kroon

Jordi Kroon

21/07/2011 13:50:23
Quote Anchor link
Kasper Heyndrickx op 21/07/2011 11:57:00:
zoals eerder vermeld: maak gebruik van mysql_real_escape_string

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$adres
        =    mysql_real_escape_string($_POST['postcode'] . " " . $_POST['stad'] . " " . $_POST['straatnaam'] . " " . $_POST['huisnummer']);
?>


FOUT

mysql_real_escape_string zet je niet in een variable maar in de query
 
Joren de Wit

Joren de Wit

21/07/2011 14:05:41
Quote Anchor link
Jordi kroon op 21/07/2011 13:50:23:
FOUT

mysql_real_escape_string zet je niet in een variable maar in de query

Dat is onzin, je kunt het resultaat van mysql_real_escape_string() prima eerst in een variabele zetten en die vervolgens in de query gebruiken. Dit kan zelfs de voorkeur hebben als je queries groot en snel onoverzichtelijk worden! Van $adres weet je nu dat het een veilige variabele is.

@TS: Een andere vraag die je jezelf wel moet stellen, wil je het adres wel op die manier in de database opslaan? Het is veel logischer en uiteindelijk waarschijnlijk ook handiger, om het adres gewoon in de verschillende delen in de database te zetten...
 



Overzicht Reageren

 
 

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.