PHP fout, formulier doorgeven naar php mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pipo Andries

Pipo Andries

07/11/2010 22:03:08
Quote Anchor link
Beste iedereen,

Ik hoop dat ik het goed doe want het is de eerste keer op dit forum voor mij :$
Eigenlijk vind ik het niet zo netjes zo ineens maar toch vraag ik het volgende.

Ik ben vandaag eigenlijk ineens begonnen met een php script, en heb weinig ervaring hiermee. Een half jaar geleden ben ik met php begonnen maar ben toen niet ver gekomen door te weinig tijd.

Ik ben afgelopen zaterdag gevraagd om een script te schrijven om een soort sponsors te zoeken. Nu heb ik samen met w3schools bezig geweest aan een systeem en moet ik zeggen dat het me redelijk lukte, alleen wanneer ik nu mijn formulier verzend en het script wat erachter zit alles gaat versturen verstuurd hij op 1 veld na alleen maar "0" naar de database, behalve de postcode.

Nu heb ik de volgende scripts in elkaar geknutseld:

Het formulier (let niet op het html, het moet geïntegreerd worden op de bestaande website en was dit het makkelijkste.
Quote:
<form method="POST" name="Vrienden van W.A.F." action="_private/verwerken.php">

<input type="text" name="voornaam" size="50">
<input type="text" name="tussenvoegsel" size="50">
<input type="text" name="achternaam" size="50">
<input type="text" name="email" size="50">
<input type="text" name="adres" size="50">
<input type="text" name="postcode" size="50">
<input type="text" name="woonplaats" size="50">
<input type="checkbox" name="vriend" value="ja">Ik word vriend van W.A.F.
<input type="submit" value="Versturen" name="B1" style="float: left">

</form>


Het script om het te verzenden:
Quote:
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
<?php
        mysql_connect("localhost","root","");
        mysql_select_db("waf");

        $sql="INSERT INTO vrienden
        VALUES ('$_POST[voornaam]','$_POST[tussenvoegsel]','$_POST[achternaam]',
            '$_POST[email]','$_POST[adres]','$_POST[postcode]','$_POST[woonplaats]','$_POST[vriend]')"
;

        if (!mysql_query($sql))
          {

          die('Error: ' . mysql_error());
          }

        echo "1 record added";
    ?>


Mijn excuses dat ik eigenlijk een soort van jullie overval.
Weet iemand wat de fout is/ zou kunnen zijn :$

Met vriendelijke groet,

patrick
 
PHP hulp

PHP hulp

21/11/2024 14:19:02
 
- Ricardo -

- Ricardo -

07/11/2010 22:11:50
Quote Anchor link
Ik denk dat je mysql datatypes niet goed staan en nog op INT staan, laat eens zien hoe je database eruit ziet in phpmyadmin.
 
Pipo Andries

Pipo Andries

07/11/2010 22:15:25
Quote Anchor link
Ik kan nu even niet bij mijn ftp programma (andere pc waar ik dat doe) en de gegevens daarvan, dus ik typ het even :s Andere computer staat thuis en ik ben nu bij oma :P

Er staat achter de rijnaam "int(75)"
Van 75 weet ik dat het maximaal 75 simbolen zijn :p maar van int weet ik niets :S
 
Jordi Kroon

Jordi Kroon

07/11/2010 22:18:10
Quote Anchor link
Je hebt gelijk denk ik

Stuur eens een screenshout van je mysql tabellen

En klein vraagje tussendoor
Weet je eigenlijk wel waar je mee bezig bent want het eve. Beginnen met php bestaag niet
Je moet weten wat je aan het doen bent

En denk aan mysql injectie

Toevoeging op 07/11/2010 22:19:35:

Probeer eens varchar
Gewijzigd op 07/11/2010 22:18:50 door Jordi Kroon
 
Pipo Andries

Pipo Andries

07/11/2010 22:21:26
Quote Anchor link
Zoals ik in mijn 2e reactie al genoemd heb, ik kan even niet bij mijn ftp programma dus een screenshot kan ik nu even niet op mijn server zetten om te laten zien, is zeer vervelend, ik weet het. Mijn excuses hiervoor.

Ik weet nat even aan php beginnen niet bestaat, ik had in gedachten vanaf morgen eraan te gaan beginnen alleen toen kwam er iemand, kan je dit zo snel mogelijk doen.
Ik ken de algemene lijnen, maar zoals je al zegt, mysql injectie weet ik niet van wat het is.

Met vriendelijke groet,

Patrick Boertje
 
Jordi Kroon

Jordi Kroon

07/11/2010 22:24:22
Quote Anchor link
Ftp is geen database

Database is phpmyadmin

Verder beveel ik je zeker aan om het op te zoeken anders loop je het risico dat je gehackt word

Dit werkt het bete met mysql_real_escape_string
 
Pipo Andries

Pipo Andries

07/11/2010 22:27:53
Quote Anchor link
FTP bedoelde ik om mijn screenshot op mijn server te plaatsen om te laten zien :p
Sorry, soms denk ik het helemaal uit maar communiceer ik het niet goed.

Ik ga hier zeker voor zoeken, en morgen begin ik vanaf het begin :P dat is wel zo makkelijk.

Hebben jullie verder nog tips die ik hierbij in moet plaatsen?
Ik was zelf nog van plan er iets in te bouwen zodat alles ingevuld moet zijn behalve het tussenvoegsel en dat de laatse aangevinkt moet zijn.

Met vriendelijke groet,

Patrick Boertje
 
Jordi Kroon

Jordi Kroon

07/11/2010 22:30:05
Quote Anchor link
Toe printscreen
Open paint control V

Opslaan
Ga naar tinypic.nl
Upload je plaatje
Zet het hierneer


Maar zoals ik net al zei
Probeer eens varchar ipv int
 
Pipo Andries

Pipo Andries

07/11/2010 22:33:48
Quote Anchor link
Afbeelding

Ik heb het nu naar varchar aangepast en het werkt inderdaad.
Heb je verder nog eventuele tips die ik er nog in kan verwerken ??
Gewijzigd op 07/11/2010 22:34:10 door Pipo Andries
 
Jordi Kroon

Jordi Kroon

07/11/2010 22:40:10
Quote Anchor link
Ik zou er nog id bij zetten
Zo maak je het ophalen makkelijker

Waar wil je het script voor gebruiken?
 
Obelix Idefix

Obelix Idefix

07/11/2010 22:40:22
Quote Anchor link
Zoals Jordi ook al aangeeft --> al je velden staan op type int --> integer --> getal. Denk dat dit voor de meeste velden in je database niet klopt ;-)

Waarom een int van 75 voor postcode? Bestaat uit niet meer dan 4 cijfers?
Gewijzigd op 07/11/2010 22:41:10 door Obelix Idefix
 
Pipo Andries

Pipo Andries

07/11/2010 22:43:10
Quote Anchor link
@jordi kroon
Hoe kan ik dit het makkelijkste toevoegen, ik heb er ook over nagedacht maar ik wist zo snel niet hoe.

@Obelix en Idefix
Mijn velden heb ik al aangepast, dat werkt nu. En voor die dingen moet ik het nog aanpassen, het waren de rauwe dingen die ik even op wou zetten, nu ga ik voor de mysql injectie zorgen dat dat niet kan gebeuren, en alles nog verfijnen.

Met vriendelijke groet,

Patrick Boertje
 



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.