veilig script????

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

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 »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

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 »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

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 »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

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/04/2024 04:49:23
 
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.