veilig script????

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mendix Ontwikkelaar - Vernieuwen van het applicati

Bedrijfsomschrijving De ontwikkelingen in de transportsector gaan razendsnel. Bij ons kun je een belangrijke rol spelen in deze sector. We streven ernaar om onze klanten te ontzorgen op het gebied van continuïteit en veiligheid met innovatieve producten en diensten. We willen dat onze klanten de veiligste vervoerders van Europa worden. Ons team werkt hard om deze ambitieuze doelstellingen te bereiken en we bieden een motiverende werkomgeving aan. We zijn op zoek naar zelfstarters met een focus op resultaat en beslissingsbevoegdheid. Functieomschrijving Als Mendix ontwikkelaar bij deze organisatie heb je een gevarieerde baan. Het applicatielandschap wordt vernieuwd en de “schade en

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Medior Java developer

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 »

BizTalk/ Azure Developer

Dit ga je doen •Understanding the scope of required functionality, translate them within context of way of working of the team into developed solutions, whilst safeguarding documentation; •Planning based on assigned sprint tasks; •Acting as an expert in estimation techniques and planning; •Understanding your role in the agile process and act in this way; •Facilitating internal communication and effective collaboration; •Working closely with scrum master to handle backlogs and new requests; •Providing information to the third parties about activities and needs for compliance. Hier ga je werken Our client is a leading organization focusing on animal nutrition, offering solutions that

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

IT Manager team PaaS

TenneT is hard groeiende om haar ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Lead PaaS die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je wordt de Teammanager (Lead) van een nieuw team binnen de afdeling Basic van Information Technology and Facilities (ITF) van TenneT. Het team heet Platform as a Service. Hier wordt elke dag in een goede sfeer met zijn allen hard gewerkt om vanuit IT

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Medior Java developer

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 »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

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

22/12/2024 16:15:18
 
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.