Avatar billede kimox Nybegynder
26. maj 2005 - 14:27 Der er 29 kommentarer og
1 løsning

Hjælp til text ?

Hej.

Jeg har et script:

<form action="" method="GET">
Skriv en sætning: <input type="text" name="saetning1"><br>
Antal ord i den nye sætning: <input type="text" name="antal"><br>
<input type="submit" value="Dan sætning">
</form>
<?
if(isset($_GET['saetning1'])){

$antal = $_GET[antal];
$ord = $_GET[saetning1];
$ord = explode(" ", $ord);
$rand = rand(0, $antal);
echo $ord[$rand];
}
?>

Det skal jeg have til at gøre så det man skriver i "saetning1" bliver skrevet x antal gange jeg ber om i "antal"

håber i kan hjælpe !
Avatar billede michael_stim Ekspert
26. maj 2005 - 14:30 #1
<?
if(isset($_GET['saetning1'])){

$antal = $_GET[antal];
for(i=0;i<antal;i++){
  $ord = $_GET[saetning1];
}
$ord = explode(" ", $ord);
$rand = rand(0, $antal);
echo $ord[$rand];
}
?>
Sådan?
Avatar billede jakobclausen Nybegynder
26. maj 2005 - 14:31 #2
$i = 1;
while($antal <= $i)
{
  echo $_GET['saetning1'];
}
Avatar billede jakobclausen Nybegynder
26. maj 2005 - 14:32 #3
rettelse:
$i = 1;
while($antal <= $i)
{
  echo $_GET['saetning1'];
  $i++;
}
Avatar billede michael_stim Ekspert
26. maj 2005 - 14:32 #4
Hov du skal lige have flyttet }

<?
if(isset($_GET['saetning1'])){

$antal = $_GET[antal];
for(i=0;i<antal;i++){
  $ord = $_GET[saetning1];
  $ord = explode(" ", $ord);
  $rand = rand(0, $antal);
  echo $ord[$rand];
}
}
?>
Avatar billede kimox Nybegynder
26. maj 2005 - 14:37 #5
den siger noget med en ; fejl her for(i=0;i<antal;i++){

:-)
Avatar billede angam Nybegynder
26. maj 2005 - 14:40 #6
Husk dollartegn:

for($i=0;$i<$antal;$i++){
Avatar billede Slettet bruger
26. maj 2005 - 14:40 #7
for($i=0;$i<$antal;$i++) {


HUSK DINE $-tegn
Avatar billede michael_stim Ekspert
26. maj 2005 - 14:41 #8
My bad. Var lidt for sjusket der, sorry.
Avatar billede kimox Nybegynder
26. maj 2005 - 14:43 #9
ja det tjalp lidt.. men den virker kun hvis man skriver et ord og så skriver 1 i "antal" .. men hvis jeg skriver over 1.. så vil den ik skrive noget
Avatar billede angam Nybegynder
26. maj 2005 - 14:48 #10
jeg skal lige være med på opgaven:
Hvis du skriver "ord" i ord og "5" i antal, skal du så have et output som "ord ord ord ord ord" eller hvad?
Avatar billede angam Nybegynder
26. maj 2005 - 14:48 #11
.. eller skal du have cuttet sætningen ned til max <n> ord?
Avatar billede kimox Nybegynder
26. maj 2005 - 14:49 #12
ja lige præcis.. man skal bare kun kunne skrive 1 ord i "saetning1" og så skriver man 5 i "antal" så skriver den det 5 gange :).. altså man må ikke kunne skrive en sætning med mellemrum i den første :)
Avatar billede angam Nybegynder
26. maj 2005 - 14:53 #13
ok, hvor kommer rand() så ind i billedet?
Avatar billede kimox Nybegynder
26. maj 2005 - 14:54 #14
det er noget jeg brugte før, det skal egentlig væk
Avatar billede angam Nybegynder
26. maj 2005 - 15:00 #15
Så burde dette være nok:

$saetning = isset($_GET['saetning1']) ? trim($_GET['saetning1']) : false;
if($saetning) {
    $antal = isset($_GET['antal']) ? $_GET['antal'] : 0;
    for($n=0;$n<$antal;$n++)
        echo($saetning.' ');
}
Avatar billede kimox Nybegynder
26. maj 2005 - 15:04 #16
Fedt .. ja tak :D.. Men når man så ikke skriver noget i antal, så viser den intet.. kan man gøre sådan et den automatisk udskriver det der står i saetning1 4gange ?
Avatar billede angam Nybegynder
26. maj 2005 - 15:10 #17
Ja, skift $antal-linien ud med:

$antal = isset($_GET['antal']) ? $_GET['antal'] : 4;
Avatar billede kimox Nybegynder
26. maj 2005 - 15:12 #18
øv det virker ik :/
Avatar billede angam Nybegynder
26. maj 2005 - 15:23 #19
Øhm - virker da fint her?

Her har jeg kommenteret $_GET['antal'] ud - resultatet er 4 x saetning1:

<?

$_GET['saetning1'] = 'check';
//$_GET['antal'] = 3;

$saetning = isset($_GET['saetning1']) ? trim($_GET['saetning1']) : false;
if($saetning) {
    $antal = isset($_GET['antal']) ? $_GET['antal'] : 4;
    for($n=0;$n<$antal;$n++)
        echo($saetning.' ');
}

?>
Avatar billede kimox Nybegynder
26. maj 2005 - 16:08 #20
Ja nu kan jeg få den til at skrive hvad der står i saetning 4 gange.. men hvis jeg så vil skrive noget i antal virker det ikke :(

<?
$_GET['saetning1'];
$_GET['antal'] = 4;

$saetning = isset($_GET['saetning1']) ? trim($_GET['saetning1']) : false;
if($saetning) {
    $antal = isset($_GET['antal']) ? $_GET['antal'] : 0;
    for($n=0;$n<$antal;$n++)
        echo($saetning.' ');
}

?>
Avatar billede angam Nybegynder
26. maj 2005 - 16:11 #21
Du har husket at fjerne mine to sætninger hvor jeg lægger nogle default-værdier ind i $_GET, ikke? (de to øverste linier ;-)
Avatar billede kimox Nybegynder
26. maj 2005 - 16:19 #22
hehe så virker det ovethovedet ikke hehe !.. forstår ik hvorfor det ik virker :(..
Avatar billede angam Nybegynder
26. maj 2005 - 16:46 #23
Her er et komplet eksempel med form og hele møllen (den har du vel husket at få med før, ikke?) - det gør som jeg tror den skal gøre, ellers må du fortælle mig hvad programmet skal gøre. Det er nemlig ikke specielt klart ...


<?

$saetning = isset($_GET['saetning1']) ? trim($_GET['saetning1']) : false;
$out = '';
if($saetning) {
    $antal = isset($_GET['antal']) ? $_GET['antal'] : 0;
    for($n=0;$n<$antal;$n++)
        $out.= $saetning.' ';
}

?>
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="" method="GET">
Skriv en sætning: <input type="text" name="saetning1"><br>
Antal ord i den nye sætning: <input type="text" name="antal"><br>
<input type="submit" value="Dan sætning">
<hr/>
<?=$out?>
</form>
</body>
Avatar billede angam Nybegynder
26. maj 2005 - 16:47 #24
</html>

(sidste linie glippede i min copy/paste operation)
Avatar billede kimox Nybegynder
26. maj 2005 - 17:13 #25
Det som der skal ske har vi lavet. Hvor du ved man skriver et ord i sætnings feltet og skriver derefter hvor mange gange man vil have det gentaget.. Men hvis man undlader at skrive hvor mange gange den skal gentages i antal feltet, og kun har udfyldt det øverste felt, og trykker "dan sætning" så sker der intet, den skriver ikke noget.. og det er der jeg gerne vil have den til at vise det man skriver i det øverste felt 4 gange, selvom man ikke har skrevet noget i "antal" feltet.. håber du er med nu :)
Avatar billede angam Nybegynder
26. maj 2005 - 17:20 #26
Min fejl; jeg glemte at rette 0 til 4 i linien $antal = isset($_GET['antal']) ? $_GET['antal'] : 0;

Prøv igen.
Avatar billede angam Nybegynder
26. maj 2005 - 17:21 #27
Jeg har ikke rigtigt heldet med mig:

$antal = (isset($_GET['antal']) && $_GET['antal']) ? $_GET['antal'] : 4;
Avatar billede kimox Nybegynder
26. maj 2005 - 17:30 #28
Præcis sådan :D.. smider du et svar :D.. tusind tak for det
Avatar billede angam Nybegynder
26. maj 2005 - 17:39 #29
Svar - og sevltak :-)
Avatar billede kimox Nybegynder
26. maj 2005 - 17:41 #30
så lidt. 30 points er sku ik meget efter dette arbejde hehe :-).

-lukket-
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Capgemini Danmark A/S

Java Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Applikationsarkitekt til stor applikationstransformation i Forsvaret

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Politiets Efterretningstjeneste

Centerchef til Center for Applikationer i PET