Permalänk
Medlem

Hjälp med PHP-switch!

Tjena sweclockare!

Jag sitter med ett B-projekt och behöver hjälp med en sak.

Vi har byggt en prototyp av en hemsida, i vilken det skall finnas en admin-sida. Jag har således implementerad CKeditor som verktyg för den <textarea> som finns under admin-sidan.

I textarean skall det laddas in textfiler för respektive sida på hemsidan.

Ovan textarean så har jag en <select> med massa <option> i, och bredvid det en knapp som postar värdet av den valda option.

Jag behöver nu en funktion som hämtar den posten och får den till att funka med en php-switch i textarean.

Select option

<form method="post">
<select>
<option>Hem</option>
<option>Event</option>
<option>Retreats</option>
</select>

<input type="submit" value="Välj"/>
</form>

Dold text

Textarean

<form id="contentform" method="post" action="?page=post">

<!-- <textarea name="content" id="txtarea"> -->
<textarea class="ckeditor" cols="80" id="txtarea" name="content" rows="10">
<?php
include ('./txt/market.txt');

?>
</textarea>

<input id="but" type="submit" value="Save/update"/>
</form>

Dold text

OBS textarean fungerar och sparar rätt.

Tack på förhand, Brittaan

Permalänk
Medlem

Skriv vad du har kommit fram till hittills, tror ingen är sugen på att göra din läxa.
Så skriv ut det du har just nu så kan man ge dig en knuff i rätt riktning.

Permalänk
Medlem

Det är inte i fråga om en läxa utan att jag själv vill lära mig hur man får det till att fungera, vi har redan uppnåt målen för projektet men tänkte göra det lite snyggare än ett gäng länkar som skickar post till switchen.

Men eftersom man inte kan lägga href på en option så behöver jag ett exempel på hur det fungerar, så jag kan implementera det. (learn by doing, så att säga)

Men jag postar det jag kommit fram till senare då.

Permalänk
Inaktiv

Du måste ha value på optionsen, annars har PHP inget att gå på.

Permalänk
Medlem

Okej, låt säg att det ser ut så här:

<form method="post" name="txt">
<select>
<option value="hem">Hem</option>
<option value="event">Event</option>
<option value="retreats">Retreats</option>
</select>

<input type="submit" value="Välj"/>
</form>

Dold text

och att jag gör så här i textarean:

<form id="contentform" method="post" action="?page=post">

<!-- <textarea name="content" id="txtarea"> -->
<textarea class="ckeditor" cols="80" id="txtarea" name="content" rows="10">
<?php

if (! isset($_POST['txt']))
{
include('./txt/hem.txt');

}else {
$txt= $_POST['txt'];

switch($txt)
{

case 'hem':
include('./txt/hem.txt');
break;

case 'event':
include('./txt/event.txt');
break;

}
}

?>

</textarea>

<input id="but" type="submit" value="Save/update"/>
</form>

Dold text

Hur hämtar jag value och får in det i min switch? och undviker att ladda om hela sidan?

Permalänk
Medlem

Du måste skicka det till en ny sida om du inte använder dig utav t.ex. Javascript

Visa signatur

Fractal Define R5 || Cooler Master V750S || Asus Z97-A || Intel i7 4790K + Hyper 212 Evo || EVGA GTX 980 Ti SC+ || Crucial Ballistix Sport 16GB 1600MHz || 850 EVO 500GB + Samsung 860 EVO 1TB || 4 TB HDD

Permalänk
Medlem

Du måste för det första döpa selecten till något, kan skriva en kod lite snabbt så kan du få se

<select name="select">
<option value="Value1">Text1</option>
<option value="Value2">Text2</option>
<option value="Value3">Text3</option>
</select>

<?php
switch ($_POST['select']) {
case "value1":
include "./txt/value1.txt"
break;
default: echo 'DEFAULT'; break;
}
?>

Något sånt skulle jag tro

Permalänk
Inaktiv

Ja, det är namet på selecten som du ska switcha på. Sen som OskarD90 säger måste du använda AJAX om du inte vill ladda om sidan.

Permalänk
Medlem

Jag löste det

Lät sidan ladda om till det case som jag har i menyn till admin-sidan.

<form method="post" action="?page=admin">
<select name="select">
<option value="1">Hem</option>
<option value="2">Event</option>
<option value="3">Retreats</option>
</select>

<input type="submit" value="Välj"/>
</form>

Dold text

Sedan skrev jag detta i textarean

<?php
if (! isset($_POST['select']))
{
include "./txt/hem.txt";

}else {

switch ($_POST['select']) {

case "1":
include "./txt/hem.txt";
break;

case "2":
include "./txt/event.txt";
break;

}
}
?>

Dold text

tack för den lilla hjälp som behövdes