[php] Oplossing voor blanco regels, welke is het beste?

Pagina: 1
Acties:
  • 308 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik moet in een html allemaal waarde kunnen ingeven
(onderstaande code's zijn voorbeelden om het verhaal te verduidelijken)

code:
1
2
3
4
5
6
<form name ="form1" action="post">
<tr><td>
<input type="tekst" name="naam15" >Geef naam op...
<input type="tekst" name="nummer15" >Geef nummerop...
<input type="tekst" name="prijs15" >Geef prijs op...
</td></tr>


Zoals hierboven dus, in deze html staan 53 van deze blokken.
Het volgende veld (na submit button) wil ik alle INGEVULDE waardes onder elkaar willen laten zien en deze ook e-mailen. Dat dacht ik te willen doen in php.

code:
1
2
3
4
5
6
7
8
9
10
<?php

bla bla
echo "$naam 13 $nummer13 $prijs13<br>";
echo "$naam 14 $nummer14 $prijs14<br>";
echo "$naam 15 $nummer15 $prijs15<br>";
enz enz

mail functie .....
?>


Maar het probleem is als ik nu GEEN waarde in veld 1 invul dat hij in veld 2 een regel overslaat, dit doet ie ook dus in de E-mail die wordt gestuurt.

Je krijgt dus dit soort effect:

Test1 test1 test1
Test2 test2 test2

Test4 test4 test4
Test5 test5 test5


Test8 test8 test8
enz enz

Nu zoek ik een simpele oplossing zodat ongeacht wat er in veld 1 wordt ingevuld dat in veld 2 EN in de E-mail alles netjes ONDER elkaar wordt neer gezet zonder open regels. Dus lege (blanco) regels moeten worden over geslagen.
Ik heb al alles verzonnen maar een echte oplossing heb ik niet gevonden, het klint simpel maar ik ze het gewoonweg niet

Iemand een paar ideeen hoe ik dit opgelost kan krijgen?

[ Voor 12% gewijzigd door Verwijderd op 07-02-2003 01:30 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

duh, nogal logisch. Je print namelijk elke keer een <br> af, ook al is de regel leeg. Misschien handig om daarop te testen?

[ Voor 5% gewijzigd door .oisyn op 07-02-2003 02:03 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja ze moeten ook onder elkaar komen staan, ik weet anders niet snel een commando te verzinnen wat de waarde automatisch naar de volgende regel print en als er niets staat dat deze dat niet doet.
Dat is eigenlijk de hele vraag.

Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Even voor de zekerheid: je gaat toch niet serieus menen dat je variabelen $naam1, $prijs2 enz. hebt?
Lees de PHP-manual eens over arrays, want dit lijkt nergens op...

Localhost, sweet localhost


Acties:
  • 0 Henk 'm!

  • Kaastosti
  • Registratie: Juni 2000
  • Nu online

Kaastosti

Vrolijkheid alom!

Een for-loop lijkt me in deze wel een uitkomst :)
PHP:
1
2
3
for($i=0;$i<53;$i++){
   echo "Naam:<input type="tekst" name="naam".$i.">";
}

Dat lijkt me in dat geval toch wel een fijne oplossing (even uit het hoofd, of het werkt weet ik zo even niet :))

Als je zoiets neerzet:
echo "$naam 13 $nummer13 $prijs13<br>";
Krijg je sowieso een break na elke drie waardes... als je echter elke waarde een nieuwe regel wilt, hoef je daar alleen maar een extra <br> toe te voegen. Om iets te testen of het ingevuld is of niet, kun je bijvoorbeeld if(isset($variabele)){ actie } gebruiken. Of als alternatief if($variabele = 'waarde'){ actie }. Ik ben zelf meer voor de eerste overigens :)

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 07 February 2003 @ 02:06:
Ja ze moeten ook onder elkaar komen staan, ik weet anders niet snel een commando te verzinnen wat de waarde automatisch naar de volgende regel print en als er niets staat dat deze dat niet doet.
Dat is eigenlijk de hele vraag.


:?

PHP:
1
2
if (isset ($var) && $var != "")
    echo $var . "<br>";


als $var gezet is en geen lege string is, dan wordt hij afgedrukt, samen met een <br>. En anders wordt er niets afgedrukt. Dat lijkt me toch basis programmeerkennis

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

kan het niet gewoon met:

PHP:
1
2
3
4
while(list($index,$waarde)=each($_POST))
{
   print $index."-".$waarde."<BR>\n";
}


of

PHP:
1
2
3
4
5
6
7
while(list($index,$waarde)=each($_POST))
{
   if(!empty($waarde))
   {
       print $index."-".$waarde."<BR>\n";
   }
}

[ Voor 43% gewijzigd door Verwijderd op 07-02-2003 08:54 ]

Pagina: 1