Script stopt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Ivo Sanders

Ivo Sanders

27/02/2011 20:36:45
Quote Anchor link
Mijn script bestaat zoals de meeste uit echo' maar als ik nu een formulier in vul, waar ik het woord foto's wil typen, dan stopt mijn script omdat ik een ' gebruik.

Iemand een idee hoe ik dat kan oplossen?
 
PHP hulp

PHP hulp

19/05/2024 13:30:54
 
Jasper DS

Jasper DS

27/02/2011 20:41:05
Quote Anchor link
addslashes

(Vaak niet de goede oplossing)
Gewijzigd op 27/02/2011 20:47:15 door Jasper DS
 

27/02/2011 20:41:20
Quote Anchor link
Je mag niet zittend het intikken. Je moet het plat op je buik intikken.
 
- Ariën  -
Beheerder

- Ariën -

27/02/2011 20:42:42
Quote Anchor link
Karl Karl op 27/02/2011 20:41:20:
Je mag niet zittend het intikken. Je moet het plat op je buik intikken.


Afbeelding
 
Ivo Sanders

Ivo Sanders

27/02/2011 20:42:56
Quote Anchor link
daar was ik al bang voor , maar als iemand anders nu iets in tikt in mijn formulier? Ik wil diegene niet gaan vertellen voor welke leestekens ze een \ moeten zetten
 
Jasper DS

Jasper DS

27/02/2011 20:43:51
Quote Anchor link
als het naar de database moet gebruik dan mysql_real_escape_string
 
- Ariën  -
Beheerder

- Ariën -

27/02/2011 20:44:30
Quote Anchor link
En zet 'magic quotes' uit.
 
TJVB tvb

TJVB tvb

27/02/2011 20:45:55
Quote Anchor link
@Karl,
Dat is afhankelijk van het internet. Als je een draadloos netwerk hebt en ADSL kan het nodig zijn om op de kop in de wc te gaan zitten tijdens het typen.

@Ivo,
Als je nu eerst je foutmelding geeft en een stukje van je code. Dan kunnen we kijken wat het daadwerkelijke probleem.

@PHP Jasper, addslashes is vaak niet een goede oplossing.
 

27/02/2011 20:47:22
Quote Anchor link
PHP Jasper op 27/02/2011 20:41:05:


Gebruik nooit of te nimmer addslashes!
Hoe stomme idioot ben je als dat zelfs op de pagina staat waar je naar toe verwijst...
 
Jasper DS

Jasper DS

27/02/2011 20:47:51
Quote Anchor link
Ik snap het probleem niet,
dit werkt bij mij gewoon:
Gewijzigd op 27/02/2011 20:50:00 door Jasper DS
 
Sander de Vos

Sander de Vos

27/02/2011 20:48:26
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo str_replace('"', "'", $_POST['']);
?>


Of andersom.
 
Jasper DS

Jasper DS

27/02/2011 20:48:43
Quote Anchor link
@ karl, ik had het net gezien, excuses!
 

27/02/2011 20:49:13
Quote Anchor link
TJVB tvb op 27/02/2011 20:45:55:
@Karl,
Dat is afhankelijk van het internet. Als je een draadloos netwerk hebt en ADSL kan het nodig zijn om op de kop in de wc te gaan zitten tijdens het typen.
(...)

Oh, ja, helemaal vergeten.

PHP Jasper op 27/02/2011 20:47:51:
Ik snap het probleem niet,
dit werkt bij mij gewoon:
(...)

Als je het probleem niet snapt moet je niet met antwoorden aankomen die per definitie verkeerd zijn.

Sander de Vos op 27/02/2011 20:48:26:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo str_replace('"', "'", $_POST['']);
?>


Of andersom.

We blijven wel in het idioten wereldje hé. Dit is ook zo fout als het maar kan!
Gewijzigd op 27/02/2011 20:50:07 door
 
Sander de Vos

Sander de Vos

27/02/2011 20:50:20
Quote Anchor link
Karl Karl op 27/02/2011 20:49:13:
TJVB tvb op 27/02/2011 20:45:55:
@Karl,
Dat is afhankelijk van het internet. Als je een draadloos netwerk hebt en ADSL kan het nodig zijn om op de kop in de wc te gaan zitten tijdens het typen.
(...)

Oh, ja, helemaal vergeten.

PHP Jasper op 27/02/2011 20:47:51:
Ik snap het probleem niet,
dit werkt bij mij gewoon:
(...)

Als je het probleem niet snapt moet je niet met antwoorden aankomen die per definitie verkeerd zijn.


Ja of je blijft on-topic en komt met een antwoord dat wél een toegevoegde waarde heeft?

Edit: Karl, kom zelf met een oplossing of voorbeeld dan. Het enige wat jij nu doet is negatief commentaar geven om anderen die het wél proberen.
Gewijzigd op 27/02/2011 20:51:46 door Sander de Vos
 
TJVB tvb

TJVB tvb

27/02/2011 20:52:03
Quote Anchor link
Sander, jouw oplossing is alleen voor dat teken. Daarnaast pas je dan de data aan. Dat wil je vaak niet. Maar als we niet te horen krijgen waar die het op wil slaan, waarom het fout gaat etc. kunnen we niet gericht helpen.
 
Jasper DS

Jasper DS

27/02/2011 20:52:47
Quote Anchor link
De TS moet zijn situatie beter uitleggen.
 
Ivo Sanders

Ivo Sanders

27/02/2011 20:52:57
Quote Anchor link
Als ik op een formulier velden invul die verwijzen naar dit script, krijg ik: unexpected '



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
<?php
require_once ( "config.php" ) ;

if ( isset ( $_POST['submit'] ) )
{

        if ( !isset ( $_POST['naam'] ) || strlen ( $_POST['naam'] ) <= 1  )
                echo "<b>Je hebt geen naam ingevuld.</b>";
        elseif ( !isset ( $_POST['bericht'] ) || strlen ( $_POST['bericht'] ) <= 1  )
                echo "<b>Je hebt geen bericht ingevuld.</b>";
        else
        {
                mysql_query ( "INSERT INTO ".$config['site']['mysql_tabel']."
                                        (
                                            datum,
                                            naam,
                                            tijd,
                                            bericht
                                        )
                                        VALUES
                                        (
                                            '"
.$_POST['datum']."',
                                            '"
.$_POST['naam']."',
                                            '"
.$_POST['tijd']."',
                                            '"
.$_POST['bericht']."'
                                        )"
) or die ( mysql_error ( ) ) ;
        }        
}

else{}
?>
Gewijzigd op 27/02/2011 20:54:47 door Ivo Sanders
 
Sander de Vos

Sander de Vos

27/02/2011 20:53:05
Quote Anchor link
Edit:

Dat is al beter ;)
Gebruik mysql_real_escape_string bij al je input's.
Gebruik geen die, maar maak een nette foutafhandeling.
Gewijzigd op 27/02/2011 20:55:43 door Sander de Vos
 
Jasper DS

Jasper DS

27/02/2011 20:55:02
Quote Anchor link
- kijken of er gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
- gebruik de juiste quotes
- juiste foutafhandeling, geen or die()!!
- script is lek -> sql-injectie -> gebruik mysql_real_escape_string()
Gewijzigd op 27/02/2011 20:56:47 door Jasper DS
 
Ivo Sanders

Ivo Sanders

27/02/2011 20:55:52
Quote Anchor link
Ik ben beginner, dus ik heb geen idee waar je het over hebt.
 

27/02/2011 20:56:45
Quote Anchor link
- Controleren of een formulier gepost is doe je met if($_SERVER['REQUEST_METHOD'])
- Zie operators, die strlen heeft in principe niet zoveel zin. Kijk ook naar trim.
- Foutafhandeling ontbreekt, zie wat elke mysql functie (zoals mysql_query) teruggeeft, gebruik dat in een if structuur.
- De fout komt doordat jij gewoon data in je database douwt. Gebruik mysql_real_escape_string.
- 'or die' is geen foutafhandeling.
- Toon nooit de php / sql fout aan de gebruiker. Deze melding kan misbruikt worden.
 

Pagina: 1 2 volgende »



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.