login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Waarden in formulier behouden (Opgelost)

Offline bertenz - 09/04/2007 13:49 (laatste wijziging 09/04/2007 13:49)
Avatar van bertenzHTML beginner Hallo allemaal,

Op een website heb ik een formulier staan waar je allerlei gegevens in moet vullen en ook wat plaatjes kunt uploaden. Als er iets niet (correct) is ingevuld, word je terug gestuurd naar het formulier waar alle eerder opgegeven waarden ingevuld zijn. Ik weet alleen niet hoe ik ervoor moet zorgen dat ook de plaatjes bewaard blijven in het formulier (dus dat je het dan nog kunt veranderen). Iemand een idee hoe dit moet ?

Bertenz

13 antwoorden

Gesponsorde links
Offline vinTage - 09/04/2007 14:00
Avatar van vinTage Nieuw lid Is dit niet mogelijk met een hidden field ?

Dus je entert de pagina, en vult alle vakken met de geposte info.
Natuurlijk bestaat die info nog niet, want die maak je pas aan bij het posten, je maakt dus eerst lege vars aan.

Bij het posten maak je een hidden aan die je meestuurt en op dezelfde manier ook weer post (geen idee of het werkt hoor)

Mn uitleg is nogal knullig, maar zover ik jou ken kom je er wel mee 
Offline Ultimatum - 09/04/2007 14:01
Avatar van Ultimatum PHP expert Je kan bij value $_POST['veldnaam'] neer zetten en dan staat er als value het eerder ingevulde waarde van die tekstbox
Offline vinTage - 09/04/2007 14:04
Avatar van vinTage Nieuw lid Zoiets bedoelde ik eigenlijk ook, maar volgens mij werkt dat niet met files, daarom dacht ik aan een hidden.

Om mn uitleg in post 1 te ondersteunen bedoel ik ongeveer dit
Offline superlol - 09/04/2007 14:09 (laatste wijziging 09/04/2007 14:18)
Avatar van superlol PHP interesse Volgens mij moet het wel werken, want als je de file ophaalt doe je dat met $_FILES['veldnaam'] en niet met $_POST['veldnaam']
Offline Dark_Paul - 09/04/2007 14:14
Avatar van Dark_Paul PHP ver gevorderde Nee, dat doe je niet met $_POST['file'], maar met $_FILES['veldnaam'].
Offline superlol - 09/04/2007 14:18
Avatar van superlol PHP interesse Oops, verkeer geschreven sorry
Offline bertenz - 09/04/2007 15:03 (laatste wijziging 09/04/2007 15:03)
Avatar van bertenz HTML beginner de veldnaam is "pict_1", dus dan zou ik op deze manier de waarde (bijv. "C: \locatie\voorbeeld.jpg") in het invoerveld moeten krijgen:

<input type="file" name="pict_1" value="<?php echo $_FILES['pict_1']; ?>" />

of bedoelen jullie iets anders? Op de bovenstaande manier krijg ik die regel ("C: \locatie\voorbeeld.jpg") helaas niet in het veld te zien. Hoe zou het volgens jullie moeten ? alvast bedankt
Offline Dark_Paul - 09/04/2007 15:05 (laatste wijziging 09/04/2007 15:15)
Avatar van Dark_Paul PHP ver gevorderde Je moet de locatie van het bestand zien te vinden.
$_FILES['pict_1'] bevat namelijk het bestand zelf, niet de locatie ervan.

Wat als je eens kijkt wat er in $_FILES staat met print_r($_FILES)?
Offline bertenz - 09/04/2007 15:24 (laatste wijziging 09/04/2007 15:55)
Avatar van bertenz HTML beginner Als ik dat doe ( print_r($_FILES) ), dan krijg ik "Array()" te zien. Er wordt dus volgens mij helemaal niks meegezonden. Moet ik hiervoor iets anders in mijn form-tags zetten?

Dit is het begin van het formulier:
  1. <form action="index.php?page=submit&funpark_id=<?= $fid ?>" method="post">

Hier is het invoerveld voor het bestand:
  1. <input type="file" name="pict_1" />


Edit:
Heb het probleem denk ik al gevonden, ik moest in de form-tag nog enctype="multipart/form-data" zetten. 

Nu krijg ik wel de naam, grootte, type en tmp_name te zien, maar de echte bestandslocatie kan ik hier volgens mij niet mee vinden of wel ?
Overigens krijg ik het sowieso niet voor elkaar om het veld een value mee te geven. Iemand een idee hoe ik mijn probleempje kan oplossen ?
Offline Gerard - 09/04/2007 16:04
Avatar van Gerard Ouwe rakker Nee, dit is niet mogelijk. In de input box moet je namelijk een lokatie geven naar een pad op de pc van de gebruiker. Omdat je op de serverkant alleen nog maar de beschikking hebt over de filename en het pad naar de TMPfile op de server is het niet mogelijk om dit dus terug te plaatsen.
Offline bertenz - 10/04/2007 17:14
Avatar van bertenz HTML beginner Allemaal bedankt voor jullie hulp. Ik heb het inmiddels op een andere manier opgelost aangezien ik het meestal vrij irritant vind als ik een reeds ingevoerd veld weer opnieuw in moet vullen. Nogmaals bedankt.

@vinTage: Nog bedankt voor het vertrouwen in mij he  (eerste post)

Bertenz
Offline Pieter - 10/04/2007 18:35
Avatar van Pieter Gouden medaille

SEO guru
Wil je nog je oplossing posten aub? Zo hebben de andere leden er ook wat aan.
Offline bertenz - 13/04/2007 10:51
Avatar van bertenz HTML beginner Mijn oplossing was eigenlijk om het formulier op een andere manier af te werken. Zo moet je nu eerst alle (verplichte) gegevens invullen en dan het formulier versturen. Daarna worden alle gegevens gecontroleerd en als het allemaal goed is, ga je verder naar een formulier om de bestanden te uploaden.
Omdat het uploaden van plaatjes in mijn geval geheel vrijwillig is, is het geen probleem dat dit pas in een 2e formulier gedaan kan worden. Ik denk namelijk ook dat de bezoekers het een stuk fijner vinden om nog een formulier in te vullen (waar je automatisch naartoe gaat), dan de plaatjes nogmaals te zoeken op de computer als er een fout was in de andere gegevens.

Ik hoop dat het zo duidelijk is. Nogmaals bedankt voor al jullie hulp.

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