php foto in form
ik wil graag een foto in een form plaatsen dus als je in de form de text van de foto typt dat je form hem in combinatie met je mysql database uit je map pakt. dit is toevoeg form. btw lokale applcatie.
form action="SlaOpEnToon.php" method="post">
Naam :
<table><input type="text" name="naam" /></br></table>
Telefoonnummer :
<table><input type="text" name="telefoonnummer" /></br></table>
Bedrijf :
<table><input type="text" name="bedrijf" /></br></table>
Commentaar : </br>
<textarea name="commentaar" cols="25" rows="10">
</textarea>
</br></br></br></br></br></br></br></br></br></br></br>
<table><input type="submit" value="Toevoegen" /></table>
</form></body>
slaopentoon.php
Code (php)
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
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
<?php
//proberen als beheerder database binnen te komen :
$con=mysql_connect("localhost","ODBC","");
if (!$con) //als het niet lukt dan foutmelding geven
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("VDb", $con);
$sql="INSERT INTO members (naam, telefoonnummer, bedrijf, commentaar)
VALUES
('$_POST[naam]' , '$_POST[telefoonnummer]' , '$_POST[bedrijf]' , '$_POST[commentaar]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo( "Succesvol toegevoegd");
//tonen resultaat tabel Inloggers :
$result = mysql_query("SELECT * FROM members");
echo( "<table border='1'>
<tr>
<th>Naam</th>
<th>Telefoonnummer</th>
<th>Bedrijf</th>
<th>Commentaar</th>
</tr>");
{
echo( "<tr>");
echo( "<td>" . $_POST['naam'] . "</td>");
echo( "<td>" . $_POST['telefoonnummer'] . "</td>");
echo( "<td>" . $_POST['bedrijf'] . "</td>");
echo( "<td>" . $_POST['commentaar'] . "</td>");
echo ("</tr>");
}
echo( "</table>");
mysql_close($con);
?>
//proberen als beheerder database binnen te komen :
$con=mysql_connect("localhost","ODBC","");
if (!$con) //als het niet lukt dan foutmelding geven
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("VDb", $con);
$sql="INSERT INTO members (naam, telefoonnummer, bedrijf, commentaar)
VALUES
('$_POST[naam]' , '$_POST[telefoonnummer]' , '$_POST[bedrijf]' , '$_POST[commentaar]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo( "Succesvol toegevoegd");
//tonen resultaat tabel Inloggers :
$result = mysql_query("SELECT * FROM members");
echo( "<table border='1'>
<tr>
<th>Naam</th>
<th>Telefoonnummer</th>
<th>Bedrijf</th>
<th>Commentaar</th>
</tr>");
{
echo( "<tr>");
echo( "<td>" . $_POST['naam'] . "</td>");
echo( "<td>" . $_POST['telefoonnummer'] . "</td>");
echo( "<td>" . $_POST['bedrijf'] . "</td>");
echo( "<td>" . $_POST['commentaar'] . "</td>");
echo ("</tr>");
}
echo( "</table>");
mysql_close($con);
?>
kan iemand mij verder helpen??
- Je code oogt ontzettend onoverzichtelijk. Ga eens goed inspringen en goed enteren. Voorbeeldje:
- Waarom gebruik je die()? Wil je dat je pagina dood gaat? Dat zou ik niet doen als ik jou was. Wanneer je een die() of exit() gebruikt, stopt je script direct op het moment dat die codes aangetroffen worden. Je script en dus je pagina worden dus niet afgemaakt. Wat schiet je daarmee op? Een half afgemaakte pagina en een lelijke error. Nee, dat kunnen we beter. echo gewoon een mooie foutmelding.
- Heb je ooit gehoord van SQL Injectie? Dat is namelijk heel goed toepasbaar op jouw script. En dat is dan negatief. Gebruik mysql_real_escape_string() om variabelen in een query.
- Opnieuw zie ik een die(). Verander die ook maar.
- Waar controleer je de exacte werking van je tweede query? Je controleert nergens of hij daadwerkelijk gelukt is en gaat er dus vanuit dat hij gelukt is, terwijl dat nooit altijd het geval kan zijn. Overigens zie ik nu dat je verder helemaal niets doet in het script met de resultaten. Waarom voer je daar dan een query uit?
- Bij een echo hoef je niet per sé ( en ) te gebruiken. Persoonlijk vind ik het mooier als die haakjes dan ook weg zijn.
- Een mysql_close() is wat mij betreft niet meer van deze tijd en is dus ook niet nodig. Echter ligt het er maar net aan hoe jij MySQL laat behandelen in je script. Als ik jou was zou ik één centraal punt aanmaken waar je connectie met je database maakt, en die verder op iedere pagina includen. Dan hoef je niet telkens je gegevens in een bestand te zetten en hoef je ook geen mysql_close() te gebruiken.
dank je wel ;)
- Mysql_real_escape voor de sql intjectie
- De ( ) bij echo die niet nodig zijn
- mysql_close niet meer nodig is (Misschien mysqli een idee?)
- Config includen
- Geen die meer
Voorbeeld:
Code (php)
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
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
<?php
// De pagina waarmee je db connectie maakt includen
include('config.php');
// Als er gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// De data in de db zetten
$sql = 'INSERT INTO
members
(naam, telefoonnummer, bedrijf, commentaar)
VALUES
(
'.mysql_real_escape_string($_POST['naam']).',
'.mysql_real_escape_string($_POST['telefoonnummer']).',
'.mysql_real_escape_string($_POST['bedrijf']).',
'.mysql_real_escape_string($_POST['commentaar']).'
)';
// Als de query succesvol is uitgevoerd
if(mysql_query($sql, $con))
{
echo 'U bent succesvol toegevoegd. <br />';
}
// Anders
else
{
// Mysql error opvangen.
echo 'Er is een fout opgetreden bij het invoegen van de gegevens. <br />';
echo 'De query: <br />';
echo $sql.'<br/>';
echo 'De error: <br />';
echo mysql_error();
}
}
// Anders
else
{
// Formulier echoën
echo '<form action="" method="post">';
// Naam
echo '<label for="1">Naam:</label>';
echo '<input id="1" type="text" name="naam" />';
// Tel nr.
echo '<label for="2">Telefoonnummer:</label>';
echo '<input id="2" type="text" name="telefoonnummer" />';
// Bedrijf
echo '<label for="3">Bedrijf:</label>';
echo '<input id="3" type="text" name="bedrijf" />';
// Commentaar / bericht
echo '<label for="4">Commentaar:</label>';
echo '<textarea id="4" name="commentaar" cols="25" rows="10"></textarea>';
// Knoppen
echo '<label></label>';
echo '<input type="submit" value="Toevoegen" />';
echo '</form>';
}
?>
// De pagina waarmee je db connectie maakt includen
include('config.php');
// Als er gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// De data in de db zetten
$sql = 'INSERT INTO
members
(naam, telefoonnummer, bedrijf, commentaar)
VALUES
(
'.mysql_real_escape_string($_POST['naam']).',
'.mysql_real_escape_string($_POST['telefoonnummer']).',
'.mysql_real_escape_string($_POST['bedrijf']).',
'.mysql_real_escape_string($_POST['commentaar']).'
)';
// Als de query succesvol is uitgevoerd
if(mysql_query($sql, $con))
{
echo 'U bent succesvol toegevoegd. <br />';
}
// Anders
else
{
// Mysql error opvangen.
echo 'Er is een fout opgetreden bij het invoegen van de gegevens. <br />';
echo 'De query: <br />';
echo $sql.'<br/>';
echo 'De error: <br />';
echo mysql_error();
}
}
// Anders
else
{
// Formulier echoën
echo '<form action="" method="post">';
// Naam
echo '<label for="1">Naam:</label>';
echo '<input id="1" type="text" name="naam" />';
// Tel nr.
echo '<label for="2">Telefoonnummer:</label>';
echo '<input id="2" type="text" name="telefoonnummer" />';
// Bedrijf
echo '<label for="3">Bedrijf:</label>';
echo '<input id="3" type="text" name="bedrijf" />';
// Commentaar / bericht
echo '<label for="4">Commentaar:</label>';
echo '<textarea id="4" name="commentaar" cols="25" rows="10"></textarea>';
// Knoppen
echo '<label></label>';
echo '<input type="submit" value="Toevoegen" />';
echo '</form>';
}
?>
Verder moet je nog goed zoeken hoe je een formulier nog netter afhandelt, dus kijkt of wel alle dingen ingevuld zijn en graag wil ik zien hoe jij het afhandelt met het overige stukje code...
En wat je dus in je pagina "config.php" zet zijn de database configuratie dingentjes...
Edit
Ohja, enne wat het formulier betreft misschien kan van de tabellen afstappen, ik heb hem bij je nu al weggehaalt en als je dan hier: http://www.sitemasters.be/tutorials/5/1/482/CSS/Formulier_Opmaak kijkt is een rete goede uitleg over het opmaken van een formulier ZONDER tabel... probeer het is!
Gr,
Milo
Gewijzigd op 01/01/1970 01:00:00 door Milo
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?PHP
$sql = 'INSERT INTO
members
(naam, telefoonnummer, bedrijf, commentaar)
VALUES
(
'.mysql_real_escape_string($_POST['naam']).',
'.mysql_real_escape_string($_POST['telefoonnummer']).',
'.mysql_real_escape_string($_POST['bedrijf']).',
'.mysql_real_escape_string($_POST['commentaar']).'
)';
?>
$sql = 'INSERT INTO
members
(naam, telefoonnummer, bedrijf, commentaar)
VALUES
(
'.mysql_real_escape_string($_POST['naam']).',
'.mysql_real_escape_string($_POST['telefoonnummer']).',
'.mysql_real_escape_string($_POST['bedrijf']).',
'.mysql_real_escape_string($_POST['commentaar']).'
)';
?>
moet dus worden:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?PHP
$sql = "INSERT INTO
members
(naam, telefoonnummer, bedrijf, commentaar)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['telefoonnummer'])."',
'".mysql_real_escape_string($_POST['bedrijf'])."',
'".mysql_real_escape_string($_POST['commentaar'])."'
)";
?>
$sql = "INSERT INTO
members
(naam, telefoonnummer, bedrijf, commentaar)
VALUES
(
'".mysql_real_escape_string($_POST['naam'])."',
'".mysql_real_escape_string($_POST['telefoonnummer'])."',
'".mysql_real_escape_string($_POST['bedrijf'])."',
'".mysql_real_escape_string($_POST['commentaar'])."'
)";
?>
Gewijzigd op 01/01/1970 01:00:00 door SilverWolf NL
Okok, detail :P
dank jullie wel voor het verbeteren van me script, heb dit toegepast., maar het lukt me nog niet met die foto. hoe zorg ik dat ik dmv text in te vullen in me form bijv: test, dat hij automatisch je test.jpg in je image folder selecteert en laat zien bij de uitkomst.