login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Plaatjes in database(uploaden naar map)

Offline ztune - 12/01/2008 12:37 (laatste wijziging 01/02/2008 15:08)
Avatar van ztuneNieuw lid Ik heb mijn eigen portfolio gemaakt en nu wil ik mysql daar gaan inbouwen. Op http://www.andykessels.nl/websites.php wil ik dit zeker gaan toepassen. Maar mijn vraag is hoe kan ik dat plaatje aan de linkerkant mee de database inkrijgen via een formulier. Dat je dat plaatje upload zal ik maarzeggen. De tekst is het probleem niet. 

17 antwoorden

Gesponsorde links
Offline cloudstrife - 12/01/2008 12:45
Avatar van cloudstrife PHP beginner Het plaatje zelf zou ik zeker niet in de database gaan stoppen. Maar je kan wel de naam + eventueel indien nodig de locatie als tekst in je tabel opslaan.

Zoek maar eens op hoe je een afbeelding upload en verkleind en je zal zeker vinden hoe je de naam van een geupload bestand opvraagd en zo.
Offline ztune - 12/01/2008 13:14
Avatar van ztune Nieuw lid Ok bedankt alvast, alleen zou ik niet weten hoe ik alleen de bestandsnaam in de database opsla. 
Offline cloudstrife - 12/01/2008 13:29
Avatar van cloudstrife PHP beginner Bekijk dit eens:
http://www.w3schools.com/php/php_file_upload.asp

Zo haal je dan de naam op:
$variable = $_FILES["file"]["name"] ;
en dan gewoon in je sql instructie

insert into tabel (afbeelding_locatie_veld)VALUES('$variabele');

Bij het ophalen dan gewoon
<img src='<?= $varuitdb; ?>' >
Offline ztune - 12/01/2008 15:12 (laatste wijziging 12/01/2008 16:13)
Avatar van ztune Nieuw lid Ik heb de volgende code gebruikt (ik weet uberhaupt niet of ik de 2 php scripts op 1 pagina moet zetten, maar ik wist het niet anders ivm het formulier):

toevoegen.php (eerste script = upload, tweede = database en invoegen)
  1. <?php
  2. if (($_FILES["file"]["type"] == "image/gif")
  3. || ($_FILES["file"]["type"] == "image/jpeg")
  4. || ($_FILES["file"]["type"] == "image/pjpeg")
  5. && ($_FILES["file"]["size"] < 20000))
  6. {
  7. if ($_FILES["file"]["error"] > 0)
  8. {
  9. echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
  10. }
  11. else
  12. {
  13. echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  14. echo "Type: " . $_FILES["file"]["type"] . "<br />";
  15. echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  16. echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
  17.  
  18. if (file_exists("../images/websites/" . $_FILES["file"]["name"]))
  19. {
  20. echo $_FILES["file"]["name"] . " already exists. ";
  21. }
  22. else
  23. {
  24. move_uploaded_file($_FILES["file"]["tmp_name"],
  25. "upload/" . $_FILES["file"]["name"]);
  26. echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  27. }
  28. }
  29. }
  30. else
  31. {
  32. echo "Invalid file";
  33. }
  34. ?>
  35. <?php
  36. if(mysql_connect('localhost','***','***'))
  37. {
  38. }
  39. else
  40. {
  41. echo 'Kan geen verbinding maken met de database! Probeer het (later) opnieuw!';
  42. }
  43.  
  44.  
  45. if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
  46. {
  47. $aFouten = array();
  48. if($_POST['naam'] == '')
  49. {
  50. $aFouten[] = 'Je hebt geen naam ingevuld.';
  51. }
  52. if($_POST['titel'] == '')
  53. {
  54. $aFouten[] = 'Je hebt geen titel ingevuld.';
  55. }
  56. if($_POST['bericht'] == '')
  57. {
  58. $aFouten[] = 'Je hebt geen bericht ingevuld.';
  59. }
  60. if($_POST['image'] == '')
  61. {
  62. $aFouten[] = 'Je hebt geen afbeelding geselecteerd.';
  63. }
  64. if(count($aFouten) != 0)
  65. {
  66. echo 'De volgende fouten zijn opgetreden: <br /><br />';
  67. for($Fi = 0; $Fi < count($aFouten); $Fi++)
  68. {
  69. echo $aFouten[$Fi].'<br />';
  70. }
  71. echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
  72. }
  73. else
  74. {
  75. mysql_query("INSERT INTO formulier (naam, titel, bericht, image) VALUES ('".addslashes($_POST['naam'])."','".addslashes($_POST['titel'])."','".$_POST['bericht']."','".$_POST['image']."')") or die (mysql_error());
  76.  
  77. echo 'De gegevens zijn succesvol opgeslagen in de database. <a href="weergeven.php">Bekijk het resultaat! </a>';
  78. }
  79.  
  80. }
  81. else
  82. {
  83. ?>
  84.  
  85.  
  86. <form action=" <?=$_SERVER['PHP_SELF']?> " enctype="multipart/form-data" method="POST">
  87. Naam: <input type="text" name="naam"><br />
  88. Titel: <input type="text" name="titel"><br />
  89. Bericht: <textarea name="bericht"></textarea><br />
  90. Afbeelding: <input type="file" name="image" id="image" />
  91.  
  92. <input type="submit" name="verzenden" value="verzenden">
  93. </form>
  94. <?
  95. }
  96. ?>


weergeven.php
  1. <?php
  2. mysql_connect('localhost','***','***');
  3.  
  4. if(mysql_result(mysql_query("SELECT COUNT(id) FROM `formulier`"),0) == 0)
  5. {
  6. echo 'Er staan nog geen berichten in de database';
  7. }
  8. else
  9. {
  10. ?>
  11. <table>
  12. <tr>
  13. <td>Naam:</td>
  14. <td>Titel:</td>
  15. <td>Bericht:</td>
  16. <td>Image:</td>
  17. </tr>
  18. <?php
  19. $qSelect_berichten = mysql_query('SELECT * FROM `formulier`') or die (mysql_error());
  20. while($aBerichten = mysql_fetch_array($qSelect_berichten))
  21. {
  22. echo '<tr>
  23. <td>'.$aBerichten['naam'].'</td>
  24. <td>'.$aBerichten['titel'].'</td>
  25. <td>'.$aBerichten['bericht'].'</td>
  26. <td><img src='.$aBerichten['image'].' ></td>
  27. </tr>';
  28. }
  29. echo '</table>';
  30. echo '<a href="toevoegen.php">Voeg een regel toe</a>';
  31. }
  32. ?>


Hij blijft nu zeggen dat de file invalid is, ook als ik nog het formulier moet invullen, ik weet dat ik de 2 php scripts dus niet bij elkaar moet doen, maar hoe kan ik die 2 apart doen en dat dan aangeven in de method van het formulier ? Of heeft iemand een geheel andere oplossing?
Offline cloudstrife - 12/01/2008 15:31
Avatar van cloudstrife PHP beginner enctype="multipart/form-data"

Plaats dit bij je form tag.
Offline ztune - 12/01/2008 16:06 (laatste wijziging 12/01/2008 16:21)
Avatar van ztune Nieuw lid Bij voorbaat zegt ie al Invalid file o.i.d. :S

Probeer het even zelf dan kun je zien wat ie zegt. 

http://ztune.le...voegen.php

EDIT: Dit heb ik nog nerges staan: $variable = $_FILES["file"]["name"] ;

waar moet ik die toevoegen?
Offline cloudstrife - 12/01/2008 16:28
Avatar van cloudstrife PHP beginner Dat ga je gebruiken waar jij op lijn 62 $_POST['image'] gebruikt.

Overigens zou ik eens een echo doen van die waarden die je in het begin daar controleerd (=='images/jpeg') etc...
Offline ztune - 12/01/2008 16:36
Avatar van ztune Nieuw lid Hoe ga ik die gebruiken op lijn 62 dan?

en hoe moet ik die controle doen?

//sorry ben niet zo goed met dit soort dingen. 
Offline cloudstrife - 12/01/2008 16:44
Avatar van cloudstrife PHP beginner Ik zou gewoon $_POST['image'] vervangen door $_FILES["file"]["name"] zowel in je controle als in je sql instructie.
Offline ztune - 12/01/2008 16:58 (laatste wijziging 15/01/2008 16:29)
Avatar van ztune Nieuw lid Nu moet ik alleen nog het plaatje zichtbaar zien te krijgen.

Verder geeft ie geen foutmeldingen dus... 

  1. <td><img src=images/'.$aBerichten['image'].' ></td>


Dat is wat ik heb om de image op te roepen 


Ik ga zelf even wat kloten, hopen dat het lukt..


Edit: Niemand die hier een antwoord op weet?
   


Ik heb gevonden dat het niet direct aan de verwijzing ligt, omdat er nog geen bestand in de map word geupload. Ik ben dus weer terug bij af. 

De code die ik nu heb:

toevoegen.php
Plaatscode: 4993

weergeven.php

Plaatscode: 4973

Niemand die weet wat ik fout doe?
Offline Giant - 15/01/2008 16:00 (laatste wijziging 15/01/2008 16:00)
Avatar van Giant PHP beginner ligt het aan mij of mis ik de source voor toevoegen???

EDIT:

je hebt dubbel weergeven geupload volgens mij
Offline ztune - 15/01/2008 16:27 (laatste wijziging 17/01/2008 08:31)
Avatar van ztune Nieuw lid Excuus hier komt de goede
Plaatscode: 5026
Offline Giant - 15/01/2008 20:38
Avatar van Giant PHP beginner mafkees,
haal je connect gegevens eruit-.-
Offline ztune - 17/01/2008 15:39 (laatste wijziging 27/01/2008 00:32)
Avatar van ztune Nieuw lid Gebeurt.

Niemand die me kan helpe??
Offline Martijn - 27/01/2008 11:25
Avatar van Martijn Crew PHP http://www.phpo...a-database
Offline ztune - 01/02/2008 13:46
Avatar van ztune Nieuw lid Ja dat is ook een oplossing maar ik wil nu eigenlijk toch liever dat de foto;s naar een map worden geupload en niet naar de database 
Offline Ibrahim - 01/02/2008 21:08
Avatar van Ibrahim PHP expert gebruik de upload class van proximus, kun je vinden in de scriptlib
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s