login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Foto en tekst bewerken?

Offline edwin87 - 16/10/2006 23:26
Avatar van edwin87Nieuw lid Goedenavond Sitemasters,

Ik zit momenteel met een probleem.

Ik heb een soort CMS systeem gemaakt dit werkt aardig. Nu kan ik ook fotos uploaden en de naam van de foto komt in de database te staan.

Ik heb een sectie met selectie spelers
Iedere speler heeft een profiel.
Naam positie etc.. Nu kan hij ook een foto uploaden...

Echter wanneer ik alleen tekst wil veranderen wil dat niet. Nu moet ik telkens een foto uploaden terwijl als dat 1 x is gebeurd dat niet weer hoeft.

Hier is het stuk code waar het om gaat:
  1. <?php
  2. $anaam = $_POST[anaam];
  3. $foto = $_POST[foto];
  4. $vnaam = $_POST[vnaam];
  5. $leeftijd =$_POST[leeftijd];
  6. $woonplaats = $_POST[woonplaats];
  7. $positie = $_POST[positie];
  8. $schoenen = $_POST[schoenen];
  9. $favo_speler = $_POST[favo_speler];
  10. $favo_club = $_POST[favo_club];
  11. $doelpunten =$_POST[doelpunten];
  12. $id = $_POST[id];
  13.  
  14. if(isset($_FILES[foto]))
  15. {
  16. //// FOTO CHECKEN ////
  17. if($_FILES['foto']['size'] > 204800)
  18. {
  19. echo "Het bestand is <b>" . $_FILES['foto']['size'] . "</b>, het maximale toegstaan is <b>102400</b>";
  20. }
  21. else
  22. {
  23. if($_FILES['foto']['type'] == "image/gif" || $_FILES['foto']['type'] == "image/png" || $_FILES['foto']['type'] == "image/pjpeg" || $_FILES['foto']['type'] == "image/jpeg")
  24. {
  25. if(empty($_POST['naam']))
  26. {
  27. $naam = $_FILES['foto']['name'];
  28. }
  29. else
  30. {
  31. $x = strrchr($_FILES['foto']['name'], ".");
  32. $naam = $_POST['naam'] . $x;
  33. }
  34. //// foto ok, tekst checken
  35.  
  36.  
  37. {
  38. move_uploaded_file($_FILES['foto']['tmp_name'], "images/" . $naam);
  39.  
  40. mysql_query("UPDATE spelers SET anaam='$anaam', vnaam='$vnaam', leeftijd='$leeftijd',
  41. woonplaats='$woonplaats', positie='$positie', schoenen='$schoenen', favo_speler='$favo_speler', favo_club='$favo_club', doelpunten ='$doelpunten',foto='images/$naam' WHERE id='$id'")or die(mysql_error());
  42.  
  43.  
  44. chmod("images/".$naam, 0777);
  45. echo "<table><tr><td><img src='../images/gelukt.gif'/><td><p style='font-family='tahoma' font-color='black'>Het toevoegen is gelukt.</br> Klik <a href='overzicht.php' target='_self'>hier</a> voor het overzicht</p></td></tr></table>";
  46.  
  47.  
  48. }
  49. }
  50. else
  51. {
  52. echo "Het bestand is geen png, jpg of gif";
  53. }
  54. }
  55. }
  56. ?>


Ik hoop dat jullie mij met dit probleem kunnen helpen.

Met vriendelijke groet,
Edwin

8 antwoorden

Gesponsorde links
Offline Ibrahim - 16/10/2006 23:41
Avatar van Ibrahim PHP expert ik heb je probleem niet begrepen, maar kan je al vertellen dat hier quotes in moeten zitten:

  1. $anaam = $_POST[anaam];
  2. $foto = $_POST[foto];
  3. $vnaam = $_POST[vnaam];
  4. $leeftijd =$_POST[leeftijd];
  5. $woonplaats = $_POST[woonplaats];
  6. $positie = $_POST[positie];
  7. $schoenen = $_POST[schoenen];
  8. $favo_speler = $_POST[favo_speler];
  9. $favo_club = $_POST[favo_club];
  10. $doelpunten =$_POST[doelpunten];
  11. $id = $_POST[id];


niet $var = $_POST[veld];
maar $var = $_POST['veld'];

en ik kan je vertellen dat dat TOTAAL geen zin heeft, gebruik gewoon $_POST['veld'] ipv een nieuwe variabele te maken, of zet het in een array
Offline edwin87 - 16/10/2006 23:46
Avatar van edwin87 Nieuw lid oke maar dit is het probleem niet.

Het probleem is namelijk dat als ik een foto upload en de tekst verander wel goed doet. Maar als ik weer ff het profiel wijzig en alleen de tekst aanpas dat hij dan aangeeft
"Het bestand is geen png, jpg of gif"
Terwijl hij al een foto link in het id heeft staan..

Terwijl het zo moet zijn wanneer ik alleen de tekst verander dat hij dat alleen doet en niet dat ik steeds die foto ook mee moet uploaden.

Ik hoop dat het probleem nu wat duidelijker is.
Offline Ibrahim - 17/10/2006 00:56
Avatar van Ibrahim PHP expert dan maak je toch een controle

  1. if(plaatje is aanwezig)
  2. {
  3. plaatje gedeelte met rust laten
  4. }
  5. else
  6. {
  7. plaatje mee uploaden
  8. }
Offline edwin87 - 17/10/2006 14:32 (laatste wijziging 17/10/2006 15:54)
Avatar van edwin87 Nieuw lid Ik heb nu dit:
  1. <?php
  2. ini_set('display_errors', 1);
  3.  
  4.  
  5. $error = "";
  6.  
  7. if(isset($_FILES['foto'])) {
  8. if($_FILES['foto']['size'] > 204800)
  9. {
  10. echo "Het bestand is <b>" . $_FILES['foto']['size'] . "</b>, het maximale toegstaan is <b>102400</b>";
  11. }
  12. else
  13. {
  14. if($_FILES['foto']['type'] == "image/gif" || $_FILES['foto']['type'] == "image/png" || $_FILES['foto']['type'] == "image/pjpeg" || $_FILES['foto']['type'] == "image/jpeg")
  15. {
  16. if(empty($_POST['naam']))
  17. {
  18. $naam = $_FILES['foto']['name'];
  19. }
  20. else
  21. {
  22. $x = strrchr($_FILES['foto']['name'], ".");
  23. $naam = $_POST['foto'] . $x;
  24. }
  25.  
  26. }
  27. if(move_uploaded_file($_FILES['foto']['tmp_name'], "images/" . $naam)) {
  28. chmod("images/".$naam, 0777);
  29. } else {
  30. // foutmelding
  31. $error .= "Probleem met uploaden";
  32. }
  33.  
  34. }
  35.  
  36. if(empty($error)) {
  37. if($_POST['foto'] == "images/" . $naam) {
  38. // zonder foto opslaan
  39. $sql = "UPDATE spelers SET anaam=". $_POST['anaam']. ", vnaam=". $_POST['vnaam'] .", leeftijd=" .$_POST['leeftijd']. ", woonplaats=" .$_POST['woonplaats']. ", positie=". $_POST['positie'].", schoenen=".$_POST['schoenen'].", favo_speler=".$_POST['favo_speler'].", favo_club=".$_POST['favo_club'].", doelpunten =". $_POST['doelpunten']." WHERE id=".$_POST['id']."";
  40. } else {
  41. // met foto opslaan
  42.  
  43. $sql = "UPDATE spelers SET anaam=". $_POST['anaam']. ", vnaam=". $_POST['vnaam'] .", leeftijd=" .$_POST['leeftijd']. ", woonplaats=" .$_POST['woonplaats']. ", positie=". $_POST['positie'].", schoenen=".$_POST['schoenen'].", favo_speler=".$_POST['favo_speler'].", favo_club=".$_POST['favo_club'].", doelpunten =". $_POST['doelpunten'].", foto='images/$naam' WHERE id=".$_POST['id']."";
  44. }
  45.  
  46. // query uitvoeren
  47. mysql_query($sql) or die(mysql_error());
  48. } else {
  49. // foutmeldingen weergeven
  50. echo $error;
  51. }
  52. }
  53. ?>


Ergens zit een fout in

Notice: Undefined variable: naam
blablabla/overzicht.php on line 43

Terwijl hij volgens mij wel gedefineerd is. Ik hoop dat een van jullie me kan helpen!

Bij voorbaat dank,

Edwin Boezelman


Niemand die me kan helpen?
Offline timo - 17/10/2006 16:18
Avatar van timo PHP ver gevorderde als je nou zegt wat regel 43 is, want hier is dat een lege regel..
en dat ini_set slaat nergens op, de regel daaronder zorgt voor hetzelfde...
Offline edwin87 - 17/10/2006 16:22
Avatar van edwin87 Nieuw lid
  1. if(move_uploaded_file($_FILES['foto']['tmp_name'], "images/" . $naam)) {


Dit is regel 43


Naam is niet gedefineerd maar kijk in het script die is toch echt wel gedefineerd. lijkt mij?
Offline Thomas - 17/10/2006 16:25
Avatar van Thomas Moderator Op PHP.net staat een hele duidelijke...le-uploads. Daar staat ook een link naar een pagina met errorcodes.

Hier zou je informatie uit kunnen halen over het hoe en wat van je upload.

Hopelijk heb je hier wat aan.
Offline Wijnand - 17/10/2006 16:25
Avatar van Wijnand Moderator Weet je, je moet even eerst nadenken. Wat wil je bereiken.

1. Je wilt dat mensen teksten kunnen updaten.
2. Je wilt dat ze de MOGELIJKHEID hebben om ook een plaatje te uploaden.
3. Je wilt ze doorsturen.

Deze volgorde moet je dan ook aanhouden.

  1. <?php
  2. If (IsSet($_POST['submit'])) {
  3. mysql_query("UPDATE `spelers` SET ... etc");
  4. if (IsSet($_FILES['foto'])) {
  5. // hier wat check of het plaatje wel echt een plaatje is en of er geen php code inzit etc.
  6. }
  7. header("Location: index.php"); // doorsturen dus
  8. } else {
  9. // hier het formulier
  10. }
  11. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.242s