veilig script????

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? 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 geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

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

16/05/2024 03:14:34
 
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.