Toevoegen CV via select menu: could not acces file

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Allan de Bruin

Allan de Bruin

10/05/2012 09:41:34
Quote Anchor link
Hoi Allemaal,
Ik ben bezig met het maken van een formulier waarbij men OF via een SELECT MENU een CV kan selecteren die al aanwezig is op de server OF dat men een CV kan selecteren via een FILE veld.

Om dit te verzenden gebruik ik PHPMailer (Thanks voor de tip btw!).

Wat gaat er niet zoals verwacht
Als ik een CV selecteer uit het SELECT MENU dan word deze niet verzonden.
Er staat "Could not access file", terwijl deze wel weergegeven is in het scherm in de echo + aanwezig op de server

Wat heb ik al gedaan
1- Voordat het formulier word verzonden heb ik EXIT(); gebruikt om te kijken of de waarde wel verzonden wordt en dan met een ECHO laten weergeven van de root.
Deze is compleet vanaf de schijfnaam tot aan de extensie. (ook op de hostserver)
dus: J:/xampp/htdocs/cv/CV-versie-011_2012-05.docx
Ik kan het bestand aanroepen via de adresbalk in de browser.

2- de map op de hostserver, waar de CV uit moet komen is standaard (helaas niet zelf te wijzigen) op CHMOD 666 gezet.

De CODE

Als eerste het deel waar ik de CV wil selecteren. (pagina 1)
Deze waarde zal mee verzonden worden via een POST method
De naam van de CV staat in een tabel en fysiek op de server.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<select name="StuurCvMee" id="StuurCvMee" style="width:250px">
<option value="0">Kies een CV van een kandidaat</option>
<?php do {  ?>
<option value="<?php echo $_SERVER['HTTP_HOST'] ?>/partner/cv/<?php echo $row_rsSelectCv['CV_bestand']?>"><?php echo $row_rsSelectCv['CV_Label']?></option>
<?php } while ($row_rsSelectCv = mysql_fetch_assoc($rsSelectCv));
  $rows = mysql_num_rows($rsSelectCv);
  if($rows > 0) {
      mysql_data_seek($rsSelectCv, 0);
      $row_rsSelectCv = mysql_fetch_assoc($rsSelectCv);
  }

?>

</select>


Dan de code waar ik het CV in mee wil sturen (pagina 2)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
// eerst de waarde opvragen voor de echo
$StuurCvMee = $_POST['StuurCvMee'];

// het deel uit PHPMailer
$source = $_FILES['StuurCvMee']['tmp_name']; //CV wegzetten als TEMPFILE
$filename = $_FILES['StuurCvMee']['name'];   //CV opvragen werkelijk selecteren
$mail->AddAttachment($source, $filename); //combineren




Ik hoop hiermee genoeg informatie te hebben gegeven?
Alvast bedankt voor jullie tijd!
Gewijzigd op 10/05/2012 09:42:39 door Allan de Bruin
 
PHP hulp

PHP hulp

25/12/2024 07:00:01
 
Matthijs Wiersma

Matthijs Wiersma

10/05/2012 10:01:25
Quote Anchor link
even snel vooraf, ik zou proberen zo weinig mogelijk html in je php te stoppen.. hier word je code erg lees-onvriendelijk van. al zal het in dit geval misschien niet anders hebben gekunt.

verder heb ik niet zo'n berg verstand van phpmailer, maar heb je misschien hier wat aan?
http://zainal.wordpress.com/2007/01/10/sending-email-attachments-in-php-using-phpmailer-class/
 
Patrick vd Pols

Patrick vd Pols

10/05/2012 10:04:12
Quote Anchor link
Moet je eerst niet het geuploade bestand definitief verplaatsen naar een goeie map?

http://php.net/manual/en/function.move-uploaded-file.php

En daarbij, als het in de database staat, kan je toch ook net zogoed de link naar het cv meesturen ?
 
Allan de Bruin

Allan de Bruin

10/05/2012 10:15:09
Quote Anchor link
@Matthijs, thanks, ik zal eens daar gaan kijken
Het is op twee pagina's wat ik uitvoer: de eerste is het ophalen, selecteren en invullen van de gegevens.
De tweede pagina is het verwerken van deze gegevens in een email.

@Patrick: je bedoelt het echt werkelijk wegzetten van het bestand?
Daar dacht ik ook aan, maar als ik het verzend via een FILE veld (type=file) dan lukt het wel, ook al heb ik de CV niet werkelijk weggezet.



Toevoeging op 10/05/2012 10:39:55:

Ik denk dat ik het al weet wat het is, en helaas zie ik daar zelf geen oplossing voor:
het veld FILE is van belang wanneer er een bestand verzonden moet worden.

Maar een SELECT MENU kan je niet omzetten naar FILE toch?


Toevoeging op 11/05/2012 08:51:54:

Heeft er nog iemand suggesties?
Gewijzigd op 10/05/2012 10:27:26 door Allan de Bruin
 
Chris PHP

Chris PHP

11/05/2012 08:57:29
Quote Anchor link
Bedoel je met een SELECT MENU een dropdown lijst in een form?

Mensen moeten toch een bestand kunnen uploaden en niet selecteren?
 
Allan de Bruin

Allan de Bruin

11/05/2012 13:19:21
Quote Anchor link
Idd Chris,
Die is dan al eerder geupload naar het systeem.
Maar stel dat je een andere wilt toevoegen dan zou je die kunnen toevoegen via de FILE type.

Dat zou toch moeten kunnen?
 
Chris PHP

Chris PHP

11/05/2012 13:29:11
Quote Anchor link
Ja dit kan idd wel, daar gebruik je dan gewoon een <input type="file"> voor en dan kunnen de mensen dus browsen naar een bestand.

Maakt een if statement waar $_POST['upload'] == "" hij niks upload en dus gebruik maakt van je bestaande CV uit de select lijst. En else hij dus het bestand upload als de upload niet leeg is.

zoiets dus.

Kies je CV: (dropdownlijst met bestaande CV)
Upload een CV (leeg veld voor de upload) [bladeren knop]
[verzend knop] [reset knop]

Toevoeging op 11/05/2012 13:40:54:

P.S. is het misschien niet slimmer om maar 1 CV per gebruiker op je server te hebben? Zo verkom je eventuele dubbele namen en heb je altijd de actuele versie.

De enige optie die je dus de gebruiker geeft is het uploaden van een CV, en die overschrijft gewoon de oude CV. Hoef je dus ook geen dropdown lijst te maken.

Anders is uiteraard de kans groot dat je 'oude' CV's gaat krijgen terwijl je natuurlijk alleen maar met de meeste recente versie wil werken toch?
Gewijzigd op 11/05/2012 13:32:30 door Chris PHP
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.