Permalänk
Medlem

PHP hjälp med en knapp

Tjenare, har en knapp som inte fungerar som jag vill

<?php session_start(); include 'dbconnect.php'; if(isset($_POST['db'])){ if($_POST['db'] == 'Cast'){ $Cast = $_POST['db']; } else if($_POST['db'] == 'film'){ $film = $_POST['db']; } echo "</br>"; echo"Please select you action </form> <form name='selecaction' id='modac'> <select name='ac' id='ac' onChange='MM_jumpMenu('parent',this,0)'> <option>Update</option> <option>Insert</option> <option>Delete</option> </select> <input type='submit' value='Action' method='GET'> </form>"; if(isset($_GET['ac'])){ if($_GET['ac'] == 'Update'){ echo " <input type='text' name'update'> <input type='submit' value='Update'> lol"; } else if ($_GET['ac'] == 'Insert' ){ echo " <input type='text' name'Insert'> <input type='submit' value='Insert'>"; } else if ($_GET['ac'] == 'Delete'){ echo " <input type='text' name'Delete'> <input type='submit' value='Delete'>"; } } }; ?>

Det är "Action" knappen, när jag trycker på den så kommer jag bara till en vit sida. (I urlen står det ?ac=Update)

Ty

Permalänk
Medlem

Prova att ta bort ditt semikolon på tredje sista raden.

Permalänk
Medlem
Skrivet av piers:

Prova att ta bort ditt semikolon på tredje sista raden.

Fortfarande likadant.

Permalänk
Medlem

du kollar först om du har en post ifrån ditt formulär, och sedan vill du hämta värde från get?
eftersom du får ?ac=Update i url:en så har du method=get i ditt formulär vilket gör att if(isset($_POST['db'])){ aldrig kommer att inträffa...

eller tänker jag snett?

Visa signatur

På tok för många datorer för att skriva här

Permalänk
Medlem

Vad vill du ska hända?
När du trycker på knappen nu så postas ditt formulär till den sida du är inne på och skickar med värdena i ditt formulär som GET-data.

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

Du glömde tala om hur du vill att din knapp ska fungera :).

Permalänk
Medlem

Det är att när man har valt ett alternativ och tryckt på knappen så ska "Update","Insert eller "Delete" if satserna köras igång, beroende på ens alternativ.

Permalänk
Medlem

- På din submit-knapp. Lägg till name="db" som attribut
- På din form lägg till method='POST'
- Ta bort method='GET' från din submit-knapp
- Ändra $_GET['ac'] till $_POST['ac'] överallt.

Kör!

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem
Skrivet av ePoint:

- På din submit-knapp. Lägg till name="db" som attribut
- På din form lägg till method='POST'
- Ta bort method='GET' från din submit-knapp
- Ändra $_GET['ac'] till $_POST['ac'] överallt.

Kör!

Du är bäst!:D

Permalänk
Medlem
Skrivet av ePoint:

- På din submit-knapp. Lägg till name="db" som attribut
- På din form lägg till method='POST'
- Ta bort method='GET' från din submit-knapp
- Ändra $_GET['ac'] till $_POST['ac'] överallt.

Kör!

Sry för dubbelpost men har samma problem efter jag var tvungen att röra om i koden. Nu så ställs väll db till vad jag väljer i listan? För att nu så kan jag välja insert trycka på knappen så studsar den tillbaka till Update.

<?php session_start(); include 'dbconnect.php'; if(isset($_POST['db'])){ echo "</br>"; echo"Please select you action </form> <form name='selecaction' id='modac' method='POST'> <select name='ac' id='ac' onChange='MM_jumpMenu('parent',this,0)'> <option>Update</option> <option>Insert</option> <option>Delete</option> </select> <input type='submit' name='db' value='Action'> </form>"; if($_POST['db'] == 'Cast'){ $Cast = $_POST['db']; if($_POST['ac'] == 'Update'){ echo " <form name='Update' id='Update' method='POST'> <select name='Column' id='Column' onChange='MM_jumpMenu('parent',this,0)'> <option>ID</option> <option>FirstName</option> <option>LastName</option> <option>filmID</option> </select> <input type='submit' name='db' value='Action'> </form>"; } else if ($_POST['ac'] == 'Insert' ){ echo " <input type='text' name'Insert'> <input type='submit' value='Insert'>"; } else if ($_POST['ac'] == 'Delete'){ echo " <input type='text' name'Delete'> <input type='submit' value='Delete'>"; } } } else if($_POST['db'] == 'film'){ $film = $_POST['db']; if($_POST['ac'] == 'Update'){ echo " <form name='Update' id='Update' method='POST'> <select name='Column' id='Column' onChange='MM_jumpMenu('parent',this,0)'> <option>ID</option> <option>Title</option> <option>genre</option> </select> <input type='submit' name='db' value='Action'> </form>"; } else if ($_POST['ac'] == 'Insert' ){ echo " <input type='text' name'Insert'> <input type='submit' value='Insert'>"; } else if ($_POST['ac'] == 'Delete'){ echo " <input type='text' name'Delete'> <input type='submit' value='Delete'>"; } } ?>

Permalänk

Sätt value på dina <option value="update">

Permalänk
Medlem
Skrivet av Cloudburst:

Sätt value på dina <option value="update">

Hur skulle det hjälpa?

Permalänk
Inaktiv

Du har glömt ett = efter name här:

else if ($_POST['ac'] == 'Insert' ){ echo " <input type='text' name'Insert'> <input type='submit' value='Insert'>"; } else if ($_POST['ac'] == 'Delete'){ echo " <input type='text' name'Delete'> <input type='submit' value='Delete'>"; }

Ta och titta igenom din kod ordentligt så det inte finns några fler syntaxfel om mer problem uppstår.

EDIT: Verkade inte riktigt som det var problemet. Cloudburst har rätt. Din <select> har inga values, hur ska då PHP veta vad den är satt till?

<select name='ac' id='ac' onChange='MM_jumpMenu('parent',this,0)'> <option>Update</option> <option>Insert</option> <option>Delete</option> </select>

Sen skulle jag rekommendera dig att använda små bokstäver till allt förutom det som just presenteras.