Verschillende values in een geloopt tekstveld

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joris Pappers

Joris Pappers

31/01/2006 18:51:00
Quote Anchor link
Kan ik via onderstaand script verschillende values gebruiken die vooraf op geef, voorbeeld

$value1 = hier mijn tekstje voor in een value1;
$value2 = ook hier een tekst2;
$value3 = nog een tekst;
...etc.

$nr = 0;
 
PHP hulp

PHP hulp

16/01/2025 10:43:04
 
Joris Pappers

Joris Pappers

31/01/2006 18:52:00
Quote Anchor link
WAAR IS MIJN SCRIPTJE GEBLEVEN !!!!!!!!!!!!!
fkes wachten
 
Joris Pappers

Joris Pappers

31/01/2006 18:53:00
Quote Anchor link
$nr = 0;
while ($ab < $colls)
{
$nr++;
$test = "$testvar$nr";
echo "<td><input name='text$nr' type='text' value='????' size='10'></td>";
}
 
Joris Pappers

Joris Pappers

31/01/2006 19:16:00
Quote Anchor link
Nobody ??
 
Pieter Boussaer

Pieter Boussaer

31/01/2006 19:26:00
Quote Anchor link
$value = "iets";
$value. = "nog iets";
$value. = "enz";

echo '<td><input name="text$nr" type="text" value="'.$value'"';
 
Joris Pappers

Joris Pappers

31/01/2006 19:32:00
Quote Anchor link
Hoi Pieter,

ik krijg een:
Parse error: parse error, unexpected '=' in /home/pappers/www/loop/admin.php on line 35

line 35 staat:
$value. = "iets";
 
Robert Deiman

Robert Deiman

31/01/2006 19:32:00
Quote Anchor link
In je scriptje, waar hou je $ab vandaan, en waar haal je $colls vandaan?
In je while lus wordt $ab niet opgehoogd, en $colls veranderd ook niets aan, dus dat werkt niet.. het is beter te doen op zo'n manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$variabele
[]="Hier de 1e tekst";
$variabele[]="Hier de 2e tekst";
$variabele[]="Hier de 3e tekst";
$colls = 3; // geef hier het aantal op
for ($i=1;$i <= $colls;$i++)
{

$varnr=$i-1;
echo '<td><input name="text'.$i.'" type="text" value="'.$variabele[$varnr].'" size="10"></td>';
}

?>
 
Joris Pappers

Joris Pappers

31/01/2006 19:36:00
Quote Anchor link
$ab is een typefout, moet $nr zijn. $colls word opgehaald via een extern txt. dit werkt naar behoren.
www.jorispappers.nl/loop/admin.htm

Ik ga jouw srcipt uitproberen...
 
Robert Deiman

Robert Deiman

31/01/2006 19:44:00
Quote Anchor link
Dan moet je wel even deze regel: $colls=4; verwijderen, want anders werkt die niet zoals het moet.
 
Joris Pappers

Joris Pappers

31/01/2006 19:45:00
Quote Anchor link
PERFECT!!!
Hier heb ik de hele dag op zitten blokken! Naja, eens komt er een dag...
Als je zin hebt, waar kan ik vinden/wat doet:
1) [] in $variabele[]=
2) wat zijn dat voor punten in bv ..name="text'.$i.'" typ.. of ...'.$variabele[$varnr].'...
 
Joris Pappers

Joris Pappers

31/01/2006 19:48:00
Quote Anchor link
Daar gebruik k deze voor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$colls
= file_get_contents("quantitycolls.txt");
$plus = $colls + 1;
$min = $colls - 1;
echo "

<form action='fwritecolls.php' method='post'>
<input name='submit' type='submit' value='+'><br>
<input name='colls' type='hidden' value='$plus' size='10'>
</form>

<form action='fwritecolls.php' method='post'>
<input name='submit' type='submit' value='-'><br>
<input name='colls' type='hidden' value='$min' size='10'>
</form>"
;
 
Robert Deiman

Robert Deiman

31/01/2006 20:04:00
Quote Anchor link
Ik zal even wat voorbeelden geven Joris:

$variabele[] maakt een array aan, de werking is als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
//de [] tekens in het script:
$var[]="var1";// op te halen door echo $var[0]
$var[]="var2";// op te halen door echo $var[1]
$var[]="var3";// op te halen door echo $var[2]
/*Hierbij valt het op dat een array bij 0 begint te tellen, vandaar ook het regeltje $varnr=$i-1;*/

// de punten
/* worden gebruikt om verschillende variabelen en/ of strings (tekst tussen "") aan elkaar te koppelen: bijvoorbeeld */

$tekst1="Achter deze tekst";
$tekst2=", wordt deze tekst geplakt";
echo $tekst1.$tekst2;
// geeft: Achter deze tekst, wordt deze tekst geplakt
echo "Achter deze tekst".$tekst2;
// geeft ook: Achter deze tekst, wordt deze tekst geplakt
?>
 
Joris Pappers

Joris Pappers

31/01/2006 20:13:00
Quote Anchor link
Bij de value staan de puntjes helemaa buitenaan, waar zijn die dan voor?
value="'.$variabele[$varnr].'"
 
Robert Deiman

Robert Deiman

31/01/2006 20:15:00
Quote Anchor link
Die zijn om te zorgen dat de variabele buiten quotes blijft. Als je nu naar je code kijkt zie je meteen dat daar een php variabele staat.
Veel voorkomende fouten worden met variabelen gemaakt, en zo kan je ze sneller terugvinden. (kijk maar eens naar de kleuropmaak van de code) Het is niet verplicht, maar het kan bij debuggen heel handig zijn. Probeer het je dus wel aan te leren.
 
Joris Pappers

Joris Pappers

31/01/2006 20:36:00
Quote Anchor link
Ik ben heeeel hard aan het denken!!
...de variabele buiten quotes...

"'.$variabele[$varnr].'"
De variabele staan toch binnen de quotes of pis ik nu helemaal lang de pot?
 
Klaasjan Boven

Klaasjan Boven

31/01/2006 21:18:00
Quote Anchor link
een variabel begint met $ en deze staan buiten de " "
 
Robert Deiman

Robert Deiman

31/01/2006 22:11:00
Quote Anchor link
Ik zal het nog weer toelichten, ik zet nummers bij de quotes. Elk oneven getal is de "openingsquote" en elk even getal is de "sluitingsquote":
Enkele en dubbele quotes worden APART geteld

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo '(1)<td><input name="(1)text'(2).$i.'(3)"(2) type="(3)text"(4) value="(5)'(4).$variabele[$varnr].'(5)"(6) size="(7)10"(8)></td>'(6);

?>

Enkele quotes:
1) de echo wordt gestart
2) de echo wordt gesloten, en daar komt onze variabele
3) de echo wordt weer geopend
4) weer wordt de echo gesloten, komt weer een variabele
5) weer wordt de echo geopend
6) en tenslotte voor de laatste keer gesloten.

Dubbele quotes:
Staan er leuk bij, is alleen voor het genereren van HTML zoals het hoort, ze hebben verder geen functie voor het functioneren. Je zou ze ook weg kunnen laten.

Om het iets te verduidelijken, heb ik het hieronder nog eens gedaan, maar dan heb ik alles uit elkaar getrokken:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
echo '<td><input name="text';
echo $i;
echo '" type="text" value="';
echo $variabele[$varnr];
echo '" size="10"></td>';
?>


Zoals je kan zien staan de variabelen keurig buiten de ' omdat die na elke regel waarin dus geen variabele staat wordt afgesloten.
Alles wat tussen enkele quotes staat, wordt verder niet geparsed, dus als je echo '$var' doet, krijg je ook $var te zien op je scherm.
Dat van het parsen geldt ook als je dubbele quotes (") tussen de enkele zet, die worden niet geparsed, maar zo meegegeven.
 



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.