Geen input maar wel variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erick Schluter

Erick Schluter

25/12/2010 18:37:40
Quote Anchor link
Denk dat dit de juiste plek is voor mijn vraag...en wel deze:

Ik heb een aantal pulldown menus.

Iemand kiest in zo'n pulldown menu een aantal, bv. 2.

Dit kan je in meerdere pulldowns doen maar geen enkele pulldown is verplicht om in te vullen.

En als optie A is voorzien van een aantal, maar de overige pulldowns niet, dan wil ik enkel en alleen optie A in een bevestigende email presenteren.

Maar...als voor optie A en bijvoorbeeld ook optie D een aantal is opgegeven wil ik deze natuurlijk beide presenteren.

Nu ziet dat er als volgt uit in de bevestigende email tekst:

optie A aantal 1
-lege regel 1-
-lege regel 2-
optie D aantal 1
[einde]

Met -lege regel- bedoel ik hier ook echt gewoon witte ruimte, nada, niets, maar wel wordt de ruimte ingenomen van een regel.

Hoe zorg ik dat de leeggelaten opties niet verschijnen in dit overzichtje?

Dat dus in dit voorbeeld -lege regel 1- en -lege regel 2- er niet zijn, geen ruimte innemen en dat het er dus als volgt uit ziet in de email:

optie A aantal 1
optie D aantal 1
[einde]

Ik hoop dat ik duidelijk ben. Krijg het maar niet voor elkaar...
 
PHP hulp

PHP hulp

08/12/2021 14:49:21
 
Maarten PHP

Maarten PHP

25/12/2010 18:54:23
Quote Anchor link
met str_replace omzetten in lege regel, telen, of nada
 
Erick Schluter

Erick Schluter

25/12/2010 19:04:11
Quote Anchor link
Dat heb ik geprobeerd...maar dat lukte niet.

Het zijn namelijk verschillende variabelen...uit verschillende pulldown menus...

Ik heb dus 4 resultaten...en 4 variabelen...hetzij gevuld of niet.
Gewijzigd op 25/12/2010 19:05:23 door Erick Schluter
 
Maarten PHP

Maarten PHP

25/12/2010 19:07:42
Quote Anchor link
en je kan toch wel met database doen en dat str_replace
 
Erick Schluter

Erick Schluter

25/12/2010 19:16:25
Quote Anchor link
Het wordt niet opgeslagen in een database...Maar dan kan ik het natuurlijk makkelijker 'uitlezen' en aanpassen...dat is de oplossing?
Gewijzigd op 25/12/2010 19:17:00 door Erick Schluter
 
The Force

The Force

25/12/2010 19:17:14
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
//Niet gewoon zo?
if($_POST['optie_a'] != '') echo $variabele;

//Of zo?
if(isset($_POST['optie_a'])) echo $_POST['optie_a'];
?>
Gewijzigd op 25/12/2010 19:21:13 door The Force
 
Erick Schluter

Erick Schluter

25/12/2010 19:44:27
Quote Anchor link
isset! Ga'k proberen!
 
Tikkes C

Tikkes C

25/12/2010 20:41:14
Quote Anchor link
indien je met mails werkt kan je gewoon een tekst appenden met $tekst .= $waterbijmoet

vb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$tekst
= "Dit is mijn starttekst <br />";

$tekst .= "Hier is regel 2 van de tekst";
?>

indien je nu $tekst gaat afprinten zal je de 2 regels onder elkaar zien.


Je kijkt dan inderdaad met isSet of er iets is ingevuld maar let op dat je ook goed nakijkt wat er juist is ingegeven uiteraard.
Gewijzigd op 25/12/2010 20:41:54 door Tikkes C
 
Erick Schluter

Erick Schluter

25/12/2010 20:41:42
Quote Anchor link
Nou moe?!

In de emailtekst doet het wat ik wil...maar als ik dezelfde truuk toepas op het HTML gedeelte dat wordt getoond op de website wanneer iemand het formulier heeft verzonden...dan is het weer dezelfde situatie.

Lege regels worden gepresenteerd...of ik nu <br /> of \n gebruik.
?!?

Ik heb nu het volgende:

$tekst = "<p>".$optieA."";
$tekst .= "<br />".$optieB."";
$tekst .= "<br />".$optieC."";
$tekst .= "<br />".$optieD."";
$tekst .= "<br />".$optieE."</p>";

Maar als alleen optieC is aangegeven...zweeft deze als het ware in een witte ruimte van boven en onder 2 regels. Dasniedebedoelingnatuurlijk...
Gewijzigd op 25/12/2010 21:37:15 door Erick Schluter
 
Ozzie PHP

Ozzie PHP

25/12/2010 22:30:40
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$tekst = '<p>';
if (!empty($optieA)) $tekst .= $optieA.'<br />';
if (!empty($optieB)) $tekst .= $optieB.'<br />';
if (!empty($optieC)) $tekst .= $optieC.'<br />';
if (!empty($optieD)) $tekst .= $optieD.'<br />';
if (!empty($optieE)) $tekst .= $optieE;
$tekst .= '</p>';

Bovenstaande code is een mogelijkheid maar zeker niet de allermooiste. Het liefste wil je de opties in een array hebben staan en daar bewerkingen oplos laten, bijvoorbeeld via de functie explode. Maar ik ken de rest van de code niet dus daar zul je zelf even naar moeten kijken.
Gewijzigd op 25/12/2010 22:32:40 door Ozzie PHP
 
Erick Schluter

Erick Schluter

26/12/2010 23:28:11
Quote Anchor link
Hey Ozzie,

Jouw oplossing maakt mijn verhaal helemaal af!

Thanks guys, wat moet ik toch zonder jullie...
 
Ozzie PHP

Ozzie PHP

27/12/2010 00:13:05
Quote Anchor link
Graag gedaan Erick.
 
Joren de Wit

Joren de Wit

27/12/2010 10:34:30
Quote Anchor link
Let op dat het gebruik van empty() hier niet echt handig is. De functie empty() zal namelijk ook 'true' terug geven als de waarde '0' of null is...

Gebruik om te controleren of strings leeg zijn liever:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($optieA == '') {
  // $optieA is een lege string
}
?>

Of:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(strlen($optieA) == 0) {
  // $optieA is een lege string
}
?>
 
Ozzie PHP

Ozzie PHP

27/12/2010 10:45:17
Quote Anchor link
Blanche - op 27/12/2010 10:34:30:
Let op dat het gebruik van empty() hier niet echt handig is. De functie empty() zal namelijk ook 'true' terug geven als de waarde '0' of null is...
Correct, maar het gaat om het kiezen van een aantal in een pull down menu en je kunt natuurlijk niet een aantal van 0 kiezen :) Dus empty werkt hier wel.

Erick Schluter op 25/12/2010 18:37:40:
Iemand kiest in zo'n pulldown menu een aantal, bv. 2.[einde]
Gewijzigd op 27/12/2010 10:45:55 door Ozzie PHP
 
Joren de Wit

Joren de Wit

27/12/2010 10:48:07
Quote Anchor link
Het is inderdaad een situatie die niet snel voorkomt, maar het is een leuke bug om op te sporen als je er toch tegenaan loopt. Je zoekt je rot :-)
 
Ozzie PHP

Ozzie PHP

27/12/2010 10:49:27
Quote Anchor link
hehe... ja, das waar :)
 



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.