veilig script????

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar een Embedded Software developer. Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij enthousiast en een echte team player? Lees dan snel verder en laat wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot aantal creatieve en ambitieuze ontwikkelaars. Ze

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Pagina: 1 2 volgende »

Bram

bram

03/01/2008 21:57:00
Quote Anchor link
Ik ben nog maar net bezig met php en heb een berichtenbalk gemaakt,
maar ik weet nu dus niet zeker of het wel een veilig en goed script is.
Wil iemand het soms even voor me nakijken

----------------------
de database
----------------------
user_ID, int, geen null, auto_increment, primaire sleutel
username, varchar(15), geen null
bericht, varchar(50), geen null

----------------------
postbericht.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
<?php
$ip
= "$REMOTE_ADDR";
If($ip == "0.0.0.0")
{

include("berichtenbalk.php");
}


//naam gebruiker=$naam, inhoud bericht = $bericht
else {
If($verzend) {
$naam = htmlspecialchars($naam);
$bericht = htmlspecialchars($bericht);
mysql_connect("prive", "prive", "prive") or die(mysql_error());
mysql_select_db("prive") or die(mysql_error());
mysql_query("INSERT INTO berichtenbalk (username,bericht) VALUES ('$naam','$bericht')");
    echo "Klik <a href=\"berichtenbalk.php\">hier</a> om je bericht te bekijken.";
    }


else{

    echo "<form name=\"formulier\" method=\"post\" action=\"postbericht.php\">";    
    echo "<b>Naam:</b><br><input type=text name=naam> maximum 15 tekens<br>";  
    echo "<b>Bericht:</b><br><input type=text name=bericht> maximum 50 tekens<br>";    
    echo "<input type=submit value='Verstuur' name=verzend>";    
    echo "</form>";    

}
}

?>


----------------------
berichtenbalk.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
<?php
mysql_connect("prive", "prive", "prive") or die(mysql_error());
mysql_select_db("prive") or die(mysql_error());
$data = mysql_query("SELECT * FROM berichtenbalk ORDER BY user_ID DESC LIMIT 8") or die(mysql_error());
Print "<table border=1 width=100%>";
Print "<tr><td width=90%><marquee>";
while($info = mysql_fetch_array( $data ))
{
  
Print " <b>" . $info['username'] . "</b>: " . $info['bericht'] . " |";
}

Print "</marquee></td><td width=10%><a href=\"postbericht.php\">voeg bericht toe.</a></td></tr></table><br>";
?>

Alleen de laatste 8 berichten worden getoond.
Gewijzigd op 01/01/1970 01:00:00 door Bram
 
PHP hulp

PHP hulp

29/03/2024 09:10:50
 
Joren de Wit

Joren de Wit

03/01/2008 22:04:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
If($verzend) {
?>

Dit doet vermoeden dat register_globals aan staat? Dat is sowieso al een mogelijk veiligheidslek, dus dat zou ik zeker uitschakelen.

Verder zou ik ook nog even de gebruikersnaam en wachtwoord uit je database connectie halen.

ps. Verder mis ik de foutafhandeling in je script? Je controleert nergens of je queries wel gelukt zijn. Ook zul je bij je insert query nog even mysql_real_escape_string() toe moeten passen om SQL injectie te voorkomen.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 

03/01/2008 22:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php // Kleurtjes
$ip = "$REMOTE_ADDR";
?>

Klopt ook niet hé? We gaan geen nutteloze variabelen maken. Variabelen maak je überhaupt niet zo.
 
Bram

bram

03/01/2008 22:18:00
Quote Anchor link
Ik heb postbericht.php aangepast, beter zo?
--------------------------
postbericht.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
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
$naam = htmlspecialchars($_POST['naam']);
$bericht = htmlspecialchars($_POST['bericht']);
mysql_connect("prive", "prive", "prive") or die(mysql_error());
mysql_select_db("prive") or die(mysql_error());
mysql_query("INSERT INTO berichtenbalk (username,bericht) VALUES ('$naam','$bericht')");
    echo "Klik <a href=\"berichtenbalk.php\">hier</a> om je bericht te bekijken.";
    }


else{

    echo "<form name=\"formulier\" method=\"post\" action=\"postbericht.php\">";    
    echo "<b>Naam:</b><br><input type=text name=naam> maximum 15 tekens<br>";  
    echo "<b>Bericht:</b><br><input type=text name=bericht> maximum 50 tekens<br>";    
    echo "<input type=submit value='Verstuur' name=verzend>";    
    echo "</form>";    

}

?>
Gewijzigd op 01/01/1970 01:00:00 door bram
 
Niels Janssen

Niels Janssen

03/01/2008 22:45:00
Quote Anchor link
Iets, variabelen buiten de quotes halen. Geen superglobals gebruiken, dus $REMOTE_ADDR moet $_SERVER['REMOTE_ADDR'] worden of iets soortgelijks. Verder is het aan te raden om htmlspecialchars te vervangen door een mysql_real_escape();

Verder lijkt het me ook wel handig dat je de $_POST['naam'] en $_POST['bericht'] controleerd op hun inhoud.

Ook is het gebruik van or die(mysql_error()); sterk af te raden als je het script op een gewone website gebruikt. Dan is het handiger om gewoon een abstracte foutmelding te geven in plaats van informatie over je database.
 
Bram

bram

03/01/2008 22:51:00
Quote Anchor link
die laatste twee snap ik niet :s (ken nog niet veel van php),
remote address heb ik al weggelaten omdat jeej zei dat dat overbodig was.

Maar dat van mysl_real_escape heb ik gedaan:
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
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
$naam = mysql_real_escape($_POST['naam']);
$bericht = mysql_real_escape($_POST['bericht']);
mysql_connect("prive", "prive", "prive") or die(mysql_error());
mysql_select_db("prive") or die(mysql_error());
mysql_query("INSERT INTO berichtenbalk (username,bericht) VALUES ('$naam','$bericht')");
    echo "Klik <a href=\"berichtenbalk.php\">hier</a> om je bericht te bekijken.";
    }


else{

    echo "<form name=\"formulier\" method=\"post\" action=\"postbericht.php\">";    
    echo "<b>Naam:</b><br><input type=text name=naam> maximum 15 tekens<br>";  
    echo "<b>Bericht:</b><br><input type=text name=bericht> maximum 50 tekens<br>";    
    echo "<input type=submit value='Verstuur' name=verzend>";    
    echo "</form>";    

}

?>


kun je mss een voorbeeld geven van de laatste twee opmerkingen?


edit:
Ik heb het van die error ondertussen begrepen:
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
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
$naam = mysql_real_escape($_POST['naam']);
$bericht = mysql_real_escape($_POST['bericht']);
mysql_connect("prive", "prive", "prive") or die("Verbinding maken met database is mislukt");
mysql_select_db("prive") or die(mysql_error());
mysql_query("INSERT INTO berichtenbalk (username,bericht) VALUES ('$naam','$bericht')");
    echo "Klik <a href=\"berichtenbalk.php\">hier</a> om je bericht te bekijken.";
    }


else{

    echo "<form name=\"formulier\" method=\"post\" action=\"postbericht.php\">";    
    echo "<b>Naam:</b><br><input type=text name=naam> maximum 15 tekens<br>";  
    echo "<b>Bericht:</b><br><input type=text name=bericht> maximum 50 tekens<br>";    
    echo "<input type=submit value='Verstuur' name=verzend>";    
    echo "</form>";    

}

?>
Gewijzigd op 01/01/1970 01:00:00 door bram
 
- SanThe -

- SanThe -

03/01/2008 22:58:00
Quote Anchor link
Niels. schreef op 03.01.2008 22:45:
htmlspecialchars te vervangen door een mysql_real_escape()

Dan wel mysql_real_escape_string()
 
Bram

bram

03/01/2008 23:01:00
Quote Anchor link
zo beter?
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
<?php
If($_SERVER['REQUEST_METHOD'] == "POST") {
$naam = mysql_real_escape_string($_POST['naam']);
$bericht = mysql_real_escape_string($_POST['bericht']);
mysql_connect("prive", "prive", "prive") or die("Verbinding maken met database is mislukt");
mysql_select_db("prive") or die(mysql_error());
mysql_query("INSERT INTO berichtenbalk (username,bericht) VALUES ('$naam','$bericht')");
    echo "Klik <a href=\"berichtenbalk.php\">hier</a> om je bericht te bekijken.";
    }


else{

    echo "<form name=\"formulier\" method=\"post\" action=\"postbericht.php\">";    
    echo "<b>Naam:</b><br><input type=text name=naam> maximum 15 tekens<br>";  
    echo "<b>Bericht:</b><br><input type=text name=bericht> maximum 50 tekens<br>";    
    echo "<input type=submit value='Verstuur' name=verzend>";    
    echo "</form>";    

}

?>


maar ik snap dit nogaltijd niet:
Quote:
Verder lijkt het me ook wel handig dat je de $_POST['naam'] en $_POST['bericht'] controleerd op hun inhoud.


wil iemand een voorbeeld geven?
Gewijzigd op 01/01/1970 01:00:00 door bram
 
Citroen Anoniem Graag

Citroen Anoniem Graag

03/01/2008 23:23:00
Quote Anchor link
Het ontbreekt aan enige controles. Is de query gelukt? Is er wel iets in het forumulier ingevult? Hebben ze teveel in het formulier ingevuld? Lukt het conecteren met de database, lukt het selecteren van een database? etc.

Voorbeeld:

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
68
69
70
71
72
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(isset($_POST['naam']) && !empty($_POST['naam']))
    {

        if(isset($_POST['bericht']) && !empty($_POST['bericht']))
        {

            if(strlen($_POST['naam']) < 15)
            {

                if(strlen($_POST['bericht']) < 50)
                {

                    if(mysql_connect('prive', 'prive', 'prive'))
                    {

                        if(mysql_select_db('prive'))
                        {

                            $qBerichtenBalk = "INSERT INTO berichtenbalk (username, bericht) VALUES ('".mysql_real_escape_string($naam)."','".mysql_real_escape_string($bericht)."');";
                            if(mysql_query($qBerichtenBalk))
                            {

                                if(mysql_affected_rows() == 1)
                                {

                                    echo 'Uw bericht is succesvol toegevoegd.';
                                    echo 'Klik <a href="berichtenbalk.php">hier</a> om je bericht te bekijken.';
                                }

                                else
                                {
                                    echo 'Error: #1';
                                }
                            }

                            else
                            {
                                echo 'Error: #2';
                            }
                        }

                        else
                        {
                            echo 'Error: #3';
                        }
                    }

                    else
                    {
                        echo 'Error: #4';
                    }
                }

                else
                {
                    echo 'Error: #5';
                }
            }

            else
            {
                echo 'Error: #6';
            }
        }

        else
        {
            echo 'Error: #7';
        }
    }

    else
    {
        echo 'Error: #8';
    }    
}

else
{
    echo '<form method="post" action="postbericht.php">';    
    echo '<b>Naam:</b><br><input type="text" name="naam" /> maximum 15 tekens<br>';  
    echo '<b>Bericht:</b><br><input type="text" name="bericht" /> maximum 50 tekens<br>';    
    echo '<input type="submit" value="Verstuur" name="verzend" />';    
    echo '</form>';
}

?>

NB: Niet getest. En de foutafhandeling is verre van ideaal.

Nu mag jij proberen het laatste bestand zelf te doen, als het niet lukt kan ik wel helpen.

btw: Ik weet niet wat jij onder veilig verstaat, maar als dat inhoud dat het ook crossbrowser moet zijn, dan moet je het gebruik van de marquee tag stoppen. Er zijn genoeg JavaScriptjes te vinden die het zelfde doen.

Succes

Edit:
Ook is er iets mis met je datamodel. Je hebt een kolom USER_id, die primaire is? met autoincrement?? Dat kan niet, je kan er gewoon id van maken.


Edit:
FF > en < omgedraait..
Gewijzigd op 01/01/1970 01:00:00 door Citroen Anoniem Graag
 
Bram

bram

04/01/2008 19:41:00
Quote Anchor link
ik weet niet zeker of ik error #1,2,3 goed heb begrepen. (ik heb er '???' voorgezet bij degene die ik niet zeker heb begrepen.):
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
68
69
70
71
72
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(isset($_POST['naam']) && !empty($_POST['naam']))
    {

        if(isset($_POST['bericht']) && !empty($_POST['bericht']))
        {

            if(strlen($_POST['naam']) < 15)
            {

                if(strlen($_POST['bericht']) < 50)
                {

                    if(mysql_connect('prive', 'prive', 'prive'))
                    {

                        if(mysql_select_db('prive'))
                        {

                            $qBerichtenBalk = "INSERT INTO berichtenbalk (username, bericht) VALUES ('".mysql_real_escape_string($naam)."','".mysql_real_escape_string($bericht)."');";
                            if(mysql_query($qBerichtenBalk))
                            {

                                if(mysql_affected_rows() == 1)
                                {

                                    echo 'Uw bericht is succesvol toegevoegd.';
                                    echo 'Klik <a href="berichtenbalk.php">hier</a> om je bericht te bekijken.';
                                }

                                else
                                {
                                    echo '???Niet alle velden zijn correct ingevuld. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.???';
                                }
                            }

                            else
                            {
                                echo '???Er heeft zich een fout opgetreden, je bericht is niet toegevoegd. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.???';
                            }
                        }

                        else
                        {
                            echo '???Het verbinden met de database is mislukt. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                        }
                    }

                    else
                    {
                        echo 'Het verbinden met de database is mislukt. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                    }
                }

                else
                {
                    echo 'Je bericht mag niet meer dan 50 tekens bevatten. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                }
            }

            else
            {
                echo 'Je naam mag niet meer dan 15 tekens bevatten. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
            }
        }

        else
        {
            echo 'Je hebt geen bericht ingevoegd. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
        }
    }

    else
    {
        echo 'Je hebt geen naam ingevoegd. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
    }    
}

else
{
    echo '<form method="post" action="postbericht.php">';    
    echo '<b>Naam:</b><br><input type="text" name="naam" /> maximum 15 tekens<br>';  
    echo '<b>Bericht:</b><br><input type="text" name="bericht" /> maximum 50 tekens<br>';    
    echo '<input type="submit" value="Verstuur" name="verzend" />';    
    echo '</form>';
}

?>
 
Citroen Anoniem Graag

Citroen Anoniem Graag

04/01/2008 19:54:00
Quote Anchor link
Ik zal het ff uitleggen.
Mysql_select_db() geeft een false terug als het selectren mislukt. dmv de if structuur zal hij dus alleen doorgaan als het true is.

Eigelijk staat er dit:
if(mysql_select_db(paramters) == true)

mysql_query():
Quote:
Alleen voor SELECT, SHOW, EXPLAIN en DESCRIBE queries geeft mysql_query() een resource identifier terug of FALSE als de query niet correct werd uitgevoerd
php.net

Als de query dus mislukt krijg je een false. Dus hij checks of de query lukt

Voor mysql_affected_rows() ligt het anders. Deze functies geeft het aantal betrokken rijen terug wat betrokken was bij de laatste query. Dit moet bij een insert query een 1 zijn want we voeren tenstlotte maar 1 rij in.

Tip: Kijk op php.net bij de functies die jij niet snapt. Staat vaak veel uitleggen en veel goede (maar ook minder goede) voorbeelden.
 
Jan Koehoorn

Jan Koehoorn

04/01/2008 20:09:00
Quote Anchor link
Freek schreef op 04.01.2008 19:54:
Voor mysql_affected_rows() ligt het anders. Deze functies geeft het aantal betrokken rijen terug wat betrokken was bij de laatste query. Dit moet bij een insert query een 1 zijn want we voeren tenstlotte maar 1 rij in.

Even precies: mysql_affected_rows geeft het aantal records terug die zijn veranderd door de laatste query. Ze kunnen dus aangemaakt, verwijderd of aangepast zijn. Bij een SELECT query zijn ook rijen betrokken, maar die kun je niet checken met mysql_affected_rows.
 
Bram

bram

07/01/2008 20:21:00
Quote Anchor link
Freek schreef op 03.01.2008 23:23:
Nu mag jij proberen het laatste bestand zelf te doen, als het niet lukt kan ik wel helpen.

Ik heb het geprobeerd, maar er komt een error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

hier is het script:
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
<?php
if(mysql_connect("prive", "prive", "prive"))
{

      if(mysql_select_db('prive'))
      {

                    $data = "Select * FROM berichtenbalk ORDER BY user_ID DESC LIMIT 8";
                    Print "<table border=1 width=100%>";
                    Print "<tr><td width=90%><marquee>";
                     while($info = mysql_fetch_array($data))
                       {
  
                       Print " <b>" . $info['username'] . "</b>: " . $info['bericht'] . " |";
                       }

                    Print "</marquee></td><td width=10%><a href=\"postbericht.php\">voeg bericht toe.</a></td></tr></table><br>";
                    Print "Alleen de laatste 8 berichten worden getoond.";        
      }
                            
      else
      {
                    print "Verbinden met Database is mislukt, klik <a href=\"berichtenbalk2.php\">hier</a> om nog eens te proberen</a>.";
      }
}

else
{
      print "<p>Verbinden met MySQL host is mislukt, klik <a href=\"berichtenbalk2.php\">hier</a> om nog eens te proberen</a>.";
}

?>
 
- SanThe -

- SanThe -

07/01/2008 20:25:00
Quote Anchor link
Je query zal mislukt zijn. Dat controleer je nog niet.

Edit: Sterker nog: Je voert de query niet eens uit.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Joren de Wit

Joren de Wit

07/01/2008 20:26:00
Quote Anchor link
Sterker nog, je voert hem nergens uit met mysql_query(). Dat zul je dus nog even moeten doen met uiteraard de nodige foutafhandeling...
 
Bram

bram

07/01/2008 20:39:00
Quote Anchor link
oeps, domme fout niet gezien XD

ik heb nu alles aangepast wat jullie hebben gezegd, is mijn script nu inorde om online te zetten op mijn website. Of zijn er mss toch nog mankementen?
----------------------------
postbericht.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
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
68
69
70
71
72
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(isset($_POST['naam']) && !empty($_POST['naam']))
    {

        if(isset($_POST['bericht']) && !empty($_POST['bericht']))
        {

            if(strlen($_POST['naam']) < 15)
            {

                if(strlen($_POST['bericht']) < 50)
                {

                    if(mysql_connect("prive", "prive", "prive"))
                    {

                        if(mysql_select_db("prive"))
                        {

                            $qBerichtenBalk = "INSERT INTO berichtenbalk (username, bericht) VALUES ('".mysql_real_escape_string($naam)."','".mysql_real_escape_string($bericht)."');";
                            if(mysql_query($qBerichtenBalk))
                            {

                                if(mysql_affected_rows() == 1)
                                {

                                    echo 'Uw bericht is succesvol toegevoegd.';
                                    echo 'Klik <a href="berichtenbalk.php">hier</a> om je bericht te bekijken.';
                                }

                                else
                                {
                                    echo 'Niet alle velden zijn correct ingevuld. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                                }
                            }

                            else
                            {
                                echo 'Er heeft zich een fout opgetreden bij het opslaan van de gegevens, je bericht is niet toegevoegd. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                            }
                        }

                        else
                        {
                            echo 'Het verbinden met de database is mislukt. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                        }
                    }

                    else
                    {
                        echo '<p>Het verbinden de MySQL host is mislukt. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                    }
                }

                else
                {
                    echo 'Je bericht mag niet meer dan 50 tekens bevatten. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
                }
            }

            else
            {
                echo 'Je naam mag niet meer dan 15 tekens bevatten. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
            }
        }

        else
        {
            echo 'Je hebt geen bericht ingevoegd. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
        }
    }

    else
    {
        echo 'Je hebt geen naam ingevoegd. Klik <a href="postbericht.php">hier</a> om opnieuw te proberen.';
    }    
}

else
{
    echo '<form method="post" action="postbericht.php">';    
    echo '<b>Naam:</b><br><input type="text" name="naam" /> maximum 15 tekens<br>';  
    echo '<b>Bericht:</b><br><input type="text" name="bericht" /> maximum 50 tekens<br>';    
    echo '<input type="submit" value="Verstuur" name="verzend" />';    
    echo '</form>';
}

?>


--------------------------
berichtenbalk.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
<?php
if(mysql_connect("prive", "prive", "prive"))
{

      if(mysql_select_db("prive"))
      {

                    $query = "Select * FROM berichtenbalk ORDER BY user_ID DESC LIMIT 8";
                    if($data = mysql_query($query))
                    {

                    Print "<table border=1 width=100%>";
                    Print "<tr><td width=90%><marquee>";
                     while($info = mysql_fetch_array($data))
                       {
  
                       Print " <b>" . $info['username'] . "</b>: " . $info['bericht'] . " |";
                       }

                    Print "</marquee></td><td width=10%><a href=\"postbericht.php\">voeg bericht toe.</a></td></tr></table><br>";
                    Print "Alleen de laatste 8 berichten worden getoond.";      
                    }

                    else
                    {
                            print "Er is iets fout gegaan met het halen van de gegevens uit de database, klik <a href=\"berichtenbalk2.php\">hier</a> om nog eens te proberen</a>.";
                    }
      }
                            
      else
      {
                    print "Verbinden met Database is mislukt, klik <a href=\"berichtenbalk2.php\">hier</a> om nog eens te proberen</a>.";
      }
}

else
{
      print "<p>Verbinden met MySQL host is mislukt, klik <a href=\"berichtenbalk2.php\">hier</a> om nog eens te proberen</a>.";
}

?>
 
Joren de Wit

Joren de Wit

07/01/2008 20:41:00
Quote Anchor link
Je gebruikt in je INSERT query $naam en $bericht, maar waar maak je die variabelen aan?
 
- SanThe -

- SanThe -

07/01/2008 20:46:00
Quote Anchor link
Waar komen die $vars op regel 16 eerste script vandaan? Die bestaan niet.
 
Bram

bram

07/01/2008 20:54:00
Quote Anchor link
je bedoelt $naam en $bericht? die komen uit het formulier
 
- SanThe -

- SanThe -

07/01/2008 20:56:00
Quote Anchor link
bram schreef op 07.01.2008 20:54:
je bedoelt $naam en $bericht? die komen uit het formulier

Echt niet.
Dat zijn nog steeds $_POST['naam'] en $_POST['bericht'].
 
Joren de Wit

Joren de Wit

07/01/2008 20:56:00
Quote Anchor link
Oh ja? Waar maak je die aan dan?

Edit:
@SanThe: ah, dat moet je niet verraden ;-)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 

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.