login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Deel van invoer weghalen. (Opgelost)

Offline sicco - 14/05/2007 20:01
Avatar van siccoLid Ik heb een formulier, en nu wil ik dat als je hem gesubmit hebt hij een deel van de invoer weghaald. Zo is er een veld genaamd link dat bevat nog de regel projecten/en dan de naam van het project, en ik wil dat hij die weghaald. Dus na het submit moet er iets met $link gebeuren om dat weg te halen, en alleen de naam van het bestand over te houden. Weet iemand misschien hoe?

12 antwoorden

Gesponsorde links
Offline vinTage - 14/05/2007 20:05
Avatar van vinTage Nieuw lid $_POST['link'] niet meesturen ?

of anders str_replace($_POST['link'], "", $completeData);

ofzoiets 
Offline JBke - 14/05/2007 20:08 (laatste wijziging 14/05/2007 20:09)
Avatar van JBke PHP gevorderde wil je dat de inhoud van je form voor die velden gewoon verwerkt word of wil je het hele input form wijzigen dat er bepaalde zaken geen tweede keer kunnen ingegeven worden?? Ik zou in elk geval een page reload gebruiken en dan nagaan of een bepaald veld in je formulier werd ingevuld en indien voldaan, je een 2de aangepast formulier toont. Werk gewoon met conrolefuncties op ingaven.

vb:

  1. <?php
  2. if (isset($veld1, $veld4, ...)) {
  3. // aangepast formulier tonen
  4. } else {
  5. // normaal formulier tonen.
  6. }
  7. ?>
Offline sicco - 14/05/2007 20:16
Avatar van sicco Lid Ik bedoel dus gewoon dat je uit een selectie box je een link kiest, de value van die link is, projecten/naamvanhetproject/foto.jpg en ik wil dat alleen foto.jpg in dit geval in de database wordt gezet. Dus na dat je op submit hebt gedrukt moet er dus iets gebeuren waardoor alleen foto.jog gaat ipv de hele link 
Offline JBke - 14/05/2007 20:22 (laatste wijziging 14/05/2007 20:22)
Avatar van JBke PHP gevorderde daar gebruik je preg_replace() voor of eventueel eenvoudige oplossing is met explode();

voorbeeld:
  1. <?php
  2. $array = explode("/", $link);
  3. $i = count($array);
  4. $bestandsnaam = $array[$i];
  5. ?>


$bestandsnaam bevat nu enkel foto.jpg en het maakt niet uit hoeveel submappen ertussen staan. hopelijk helpt dit je verder.
Offline sicco - 15/05/2007 07:49
Avatar van sicco Lid nu heb ik
  1. if ($submit) {
  2.  
  3.  
  4. $array = explode("/", $link);
  5. $i = count($array);
  6. $bestandsnaam = $array[$i];
  7. echo"".$bestandsnaam." is toegevoegt"; }?>

Om ff te kijken of het werkt, maar ik zie alleen is toegevoegt staan 
Offline marvelade - 15/05/2007 09:45
Avatar van marvelade Nieuw lid Hi Allemaal,

Ik ben nioeuw op het forum dus eerst even een goeiemorgen aan iedereen.

Het probleem waar jij mee kampt, Sicco, daar zit in PHP een standaard functie voor:

basename($file);

zie ook: http://be.php.net/basename
Offline marten - 15/05/2007 09:45
Avatar van marten Beheerder Dit kan veel handiger met behulp van substring functie van PHP. Of met regular expressions.
Offline marvelade - 15/05/2007 09:47
Avatar van marvelade Nieuw lid marten,

wat kan er handiger zijn dan een ftie die daarvoor speciaal geschreven werd?
Offline marten - 15/05/2007 09:47
Avatar van marten Beheerder Idd 
Offline marvelade - 15/05/2007 09:51
Avatar van marvelade Nieuw lid basename() en dirname() zijn onmisbare hulpjes als je files moet gaan ver- of bewerken met php. Als je masochist bent ga je dit lekker zelf doen met regular expressions, maar ik ben toch eerder voor quick 'n' clean ;)

Ik merk wel dat er voor enorm veel bewerkingen standaard functies zijn in php. Hoe vaak ik al niet een functie zelf heb geprogrammeerd om er dan later achter te komen dat dat gewoon al bestaat . Och ja, je leert er altijd wel iets van bij

greetz,
Marvelade
Offline sicco - 15/05/2007 09:56
Avatar van sicco Lid @ marveladze, ook goeiemorgen en jij hebt mijne net beter gemaakt want het werkt thnx uiteindelijk is het antwoord toch simpel 
Offline marvelade - 15/05/2007 10:11
Avatar van marvelade Nieuw lid hehe, graag gedaan sicco. Het loont de moeite om af en toe eens code van andere mensen te lezen dan kom je veel fties tegen die je zelf noiot gebruikt. In veel gevallen kom je dan een gelijkaardige situatie tegen maar dan weet je de naam van die ftie niet meer .

Gelukkig kan de function reference van php.net tegen een gokje en doet hij zelf voorstellen over wat het dan wel zou kunnen zijn. als je bvb surft naar php.net/filename dan krijg je een lijst met functies war ook basename in staat, dus meestal vind ik daar wel wat ik zoek. Deze functie basename wist ik nu toevallig nog van buiten omdat ik vorige week nog een PHP/Flash project heb gemaakt om images op een server te bewerken (pan/crop/scale). (voor de geïnteresseerden: http://marvelade.com/index.php?area=projects bovenaan)

greetz,
Marvelade
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s