login  Naam:   Wachtwoord: 
Registreer je!
 Forum

addslashes

Offline roy - 24/01/2005 18:56 (laatste wijziging 29/01/2005 14:33)
Avatar van royPHP gevorderde Hallo,

Ik heb een tabel met drie kolommen, in de eerste je ID, in de tweede staat welke ronde(je fietst) en in de derde de bestandsnaam.

Ik heb een upload script om bestanden toetevoegen. Hoe maak ik het zo dat als je een ronde toevoegt die nog niet bestaat, hij een nieuwe regel toevoegt.
En hetzelfde script moet ook dit kunnen doen:
Als je een bestand toevoegt waarvan de ronde en het ID al bestaat dat hij het overschrijft.

Met name dit laatste is een probleem, wie helpt me uit de brand,

Roy

3 antwoorden

Gesponsorde links
Offline Thomas - 28/01/2005 15:05
Avatar van Thomas Moderator Zoals webstab al zei, zul je eerst moeten controleren of je al een ronde met dat id hebt.
Je kijkt dus in je database of je al een ronde-nummer hebt wat je hebt opgegeven via het invul-formulier (SELECT * FROM tabel WHERE ronde = $_POST['ingevoerde_rondenummer']). Is dit het geval (er zijn meer dan 0 resultaten op de bovenstaande query), overschrijf je je plaatje (en om dit makkelijk te maken zou je de naam van het plaatje hetzelfde kunnen kiezen als het ronde-nummer ? move_uploaded_file() overschrijft bestaande bestanden als de naam van de bestemming hetzelfde is als een plaatje dat al bestaat op je webruimte. Hiernaast voer je een UPDATE-query uit bij dit ronde-nummer). Komt er nog geen ronde voor met dat nummer , maak je een nieuwe database-entry (INSERT-query).
Offline roy - 28/01/2005 20:05 (laatste wijziging 29/01/2005 12:53)
Avatar van roy PHP gevorderde Zo werkt het niet:'( , na het verzenden krijg ik opnieuw het formulier. Zonder dat er iets in de database is toegevoegd.

  1. <?
  2.  
  3. if ($_FILES['bestand']) {
  4.  
  5. //************* te editeren *******************
  6. //database spullen
  7.  
  8. //tabeldinges
  9. $tabelnaam = "tacx"; //naam van de tabel
  10. $origineelveld = "origineel"; //naam van de velden in je tabel
  11. $uniekveld = "uniek"; //naam van de velden in je tabel
  12. $mimeveld = "mime"; //naam van de velden in je tabel
  13.  
  14. //volgende var is het pad waar alles wordt opgeslagen.
  15. $eindlocatie = $_SERVER['DOC_ROOT']."/var/www/html/tacx/files/tacx/"; //echo deze variabele als je niet zeker bent!
  16.  
  17. //*********************************************
  18.  
  19. $result = mysql_query("SELECT * FROM ".$tabelnaam." WHERE user=" . $_GET['id'] . " AND Round='" . $Round . "'");
  20. $row = mysql_fetch_array($result);
  21. //is er nog geen cijfer gegeven
  22. if ($result == 0) {
  23.  
  24. $uniekenaam = "'" . $id . "'_".$_POST['Round'];
  25.  
  26. if ( move_uploaded_file($_FILES['bestand']['tmp_name'], $eindlocatie.$uniekenaam) ) {
  27. $queryzin = "INSERT INTO ".$tabelnaam." (".$uniekveld.", ".$origineelveld.", ".$mimeveld.",user,Dd,Dm,Dy,Th,Tm,Ts,Round) VALUES ('".addslashes($uniekenaam)."', '".addslashes($_FILES['bestand']['name'])."','".addslashes($_FILES['bestand']['type'])."','" . $id . "','" . $Dd . "','" . $Dm . "','" . $Dy . "','" . $Th . "','" . $Tm . "','" . $Ts . "','" . $Round . "')";
  28. mysql_query($queryzin) or die(mysql_error());
  29. echo "<br>goodie, het bestand werd goed getransporteerd en de info kwam in de database!<br>";
  30. } else {
  31. //gn transport
  32. echo "<font color=red>geen transport</font><br>";
  33. }
  34. }
  35.  
  36. } elseif ($result == 1) {
  37.  
  38. $uniekenaam = "'" . $id . "'_".$_POST['Round'];
  39.  
  40. if ( move_uploaded_file($_FILES['bestand']['tmp_name'], $eindlocatie.$uniekenaam) ) {
  41.  
  42. $queryzin = "UPDATE ".$tabelnaam." SET(".$uniekveld.", ".$origineelveld.", ".$mimeveld.",user,Dd,Dm,Dy,Th,Tm,Ts,Round) VALUES ('".addslashes($uniekenaam)."', '".addslashes($_FILES['bestand']['name'])."','".addslashes($_FILES['bestand']['type'])."','" . $id . "','" . $Dd . "','" . $Dm . "','" . $Dy . "','" . $Th . "','" . $Tm . "','" . $Ts . "','" . $Round . "') WHERE user=" . $_GET['id'] . " AND Round='" . $Round . "'";
  43. mysql_query($queryzin) or die(mysql_error());
  44. echo "<br>goodie, het bestand werd goed getransporteerd en de info kwam in de database!<br>";
  45. } else {
  46. //gn transport
  47. echo "<font color=red>geen transport</font><br>";
  48. }
  49. }
  50.  
  51. ?>
  52. HIERONDER HET FORMULIER


Heeft iemand een idee? Tja, wat doe ik verkeerd?

Groeten,
Roy
Offline roy - 29/01/2005 13:54 (laatste wijziging 30/01/2005 16:25)
Avatar van roy PHP gevorderde okay het werkt... result moest row zijn.

maar waarom haald hij de addslashes weg bij de originele naam?

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.182s