PHP. Ändra textfärg, storlek etc, går ej att ändra flera saker.

Permalänk
Medlem

PHP. Ändra textfärg, storlek etc, går ej att ändra flera saker.

Hej, mina två rumskompisar har en PHP uppgift där de ska ändra på en text man skriver in i en textbox, man ska kunna ändra storlek, färg och typ på texten (om den ska vara kursiv eller bold).

Men nu är problemet att de ej kan ändra på färgen och samtidigt ändra på storleken.
Skulle kunna tänka mig att man behöver spara texten i en session.

Någon som har några idéer? Har kollat runt på google men har inte hittat någon lösning.

Hela koden:

<html> <body> <pre> <?php $pixelsizes=Array("100","200","300","400"); $fontcolors=Array("#F00", "#0F0", "#00F", "#FF0"); $fonttypes=Array("normal", "bold", "italic"); if(isset($_POST['textbox'])){ $textboxvalue=$_POST['textbox']; }else{ $textboxvalue=""; } echo "<form method='post' action='uppgift1a.php'>"; echo "<select name='pixelsize'>"; foreach($pixelsizes as $pixelsize){ echo "<option>".$pixelsize; } echo "</select>"; echo "<input type='submit' value='Ok'>"; echo "</form>"; echo "<br>"; echo "<form method='post' action='uppgift1a.php'>"; echo "<select name='fontcolor'>"; foreach($fontcolors as $fontcolor){ echo "<option>".$fontcolor; } echo "</select>"; echo "<input type='submit' value='Ok'>"; echo "</form>"; echo "<form method='post' action='uppgift1a.php'>"; echo "<select name='fonttype'>"; foreach($fonttypes as $fonttype){ echo "<option>".$fonttype; } echo "</select>"; echo "<input type='submit' value='Ok'>"; echo "</form>"; echo "<form method='post' action='uppgift1a.php'>"; echo "<form action='uppgift1a.php' method='POST'>"; echo "<input type='text' name='textbox' value='$textboxvalue'>"; echo "<input type='submit' value='Ok' name='okbutton'>"; echo "</form>"; print_r($_POST); echo "<br><br>"; if(isset($_POST['pixelsize'])){ $pixelsize=$_POST['pixelsize']; } else{ $pixelsize="100"; } if(isset($_POST['fontcolor'])){ $fontcolor=$_POST['fontcolor']; } else{ $fontcolor="#000"; } if(isset($_POST['fonttype'])){ $fonttype=$_POST['fonttype']; } else{ $fonttype="normal"; } echo "<div style='font-size:".$pixelsize."'px;><div style='color:".$fontcolor."';><div style='font-weight:".$fonttype."';><div style='font-style:".$fonttype."';>Hey $textboxvalue</div>"; ?> </pre> </body> </html>

Använd [code]-taggar snarare än [spoiler]-taggar för kod.
Visa signatur

Bildskärm: Acer 27" WQHD 170Hz 2560x1440
Datorsystem: AMD Ryzen 3600 @4.0GHz - Nvidia RTX 3060 - ASUS TUF GAMING X570-PLUS - NZXT H440 Blue
Övrigt: Corsair K95 RGB - Corsair Scimitar - Corsair VOID Wireless

Permalänk
Medlem

@Zoidberg: Till att börja med är koden rörig (vilket den lätt blir om man skriver i PHP) och onödigt lång. Även om koden inte är tänkt att användas senare bör man alltid eftersträva att skriva välstrukturerad och välkommenterad kod och ha en enhetlig indentering.

När det kommer till ert problemet så har det hela att göra med att ni har 4 stycken forms. För att få med flera POST-variabler måste ni baka in samtliga inputs i EN form med EN submit-knapp.

Visa signatur

Citera för svar!

Stationär: Fractal Design Define R6 | Asus Z370-P | Intel i7 8700k @ 3.7 Ghz | Corsair Vengeance LPX 32GB CL15 @ 3000 Mhz | Asus STRIX GTX960 4GB | Fractal Design Celsius S24 | 5 TB HDD | 250GB SSD (Samsung 850 EVO), 128GB SSD (Crucial M4) | Corsair HX 850W | W10
Bärbar: Sony Vaio Pro 13.3" | i7-4500U | 8GB RAM | 256GB SSD | Ubuntu

Permalänk
Medlem
Skrivet av RedRetro:

@Zoidberg: Till att börja med är koden rörig (vilket den lätt blir om man skriver i PHP) och onödigt lång. Även om koden inte är tänkt att användas senare bör man alltid eftersträva att skriva välstrukturerad och välkommenterad kod och ha en enhetlig indentering.

När det kommer till ert problemet så har det hela att göra med att ni har 4 stycken forms. För att få med flera POST-variabler måste ni baka in samtliga inputs i EN form med EN submit-knapp.

Bra kritik, får be dem att snygga till koden lite.

Det får vi testa, har inte ens tänkt på det, tack!

Visa signatur

Bildskärm: Acer 27" WQHD 170Hz 2560x1440
Datorsystem: AMD Ryzen 3600 @4.0GHz - Nvidia RTX 3060 - ASUS TUF GAMING X570-PLUS - NZXT H440 Blue
Övrigt: Corsair K95 RGB - Corsair Scimitar - Corsair VOID Wireless