php foto in form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan

stefan

26/01/2010 10:11:00
Quote Anchor link
Beste mensen,

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)
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
<?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);
?>


kan iemand mij verder helpen??
 
PHP hulp

PHP hulp

28/11/2024 18:38:38
 
Jesper Diovo

Jesper Diovo

26/01/2010 10:18:00
Quote Anchor link
Laten we maar eens beginnen bij het begin.

- Je code oogt ontzettend onoverzichtelijk. Ga eens goed inspringen en goed enteren. Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($conditie) {
  echo "iets";
}
else {
  echo "niets";
}


echo "Hoi";
?>

- 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.
 
Stefan

stefan

26/01/2010 10:24:00
Quote Anchor link
dank je wel voor je reactie, ik ben je onderweg in het verhaal kwaijt geraakt :P na al die codes zie ik het niet meer :P zou je misschien kunnen laten zien in een voorbeeld wat ik moet aanpassen?

dank je wel ;)
 
Milo

Milo

26/01/2010 12:18:00
Quote Anchor link
@ Stefan; ik heb een klein deel van je code veranderd zodat je weet wat Jezpur bedoelt met:
- 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)
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
<?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>';
}

?>


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
 
SilverWolf NL

SilverWolf NL

26/01/2010 15:12:00
Quote Anchor link
@Milo, strings moeten in query's (en eigenlijk altijd) tussen aanhalingstekens, ik zie dit niet bij jou script terug...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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']).'
                )'
;
?>

moet dus worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'])."'
                )"
;
?>
Gewijzigd op 01/01/1970 01:00:00 door SilverWolf NL
 
Milo

Milo

26/01/2010 15:28:00
Quote Anchor link
Okok, detail :P
 
Stefan

stefan

26/01/2010 22:53:00
Quote Anchor link
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.
 



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.