Avatar billede grevlindgren Nybegynder
18. april 2012 - 16:05 Der er 20 kommentarer

"Submit" virker ikke på en Method="post" opbygning

Jeg er relativt uerfaren PHP-mand, men leger lidt med det for sjov, fordi ja, det er sjovt :-)
Men stødt på et problem med at få et script til at virke. Det er er script jeg har sakset sammen af forskellige eksempler.
Meget enkelt indtaster man sin mail adresse, navn og foretager et valg fra en dropdown, og på submit skal de tre data gemmes i sql, og samtidigt skal hentes nogle data fra sql der udlæses på en resultatside. Det hele skulle fungerer, bortset fra at submit ikke virker, det er som om der ikke snakkes rigtigt sammen med sql?
Her følger klip fra script for index.php:
<?
include("connect.php");
?>
<body>
<table width="100%" border="0" class="t-b" cellpadding="0"  cellspacing="0">
    <form name="frm" id="frm" action="result.php" method="post" enctype="multipart/form-data">
  <tr>
    <td width="6%">Name:</td>
    <td width="94%"><input type="text" name="name" id="name" /></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" name="email" id="email" /></td>
  </tr>
  <tr>
    <td>Choose:</td>
    <td>
    <select name="dd_celeb" id="dd_celeb">
    <option value="">Select Height</option>
    <?
        $SelQry=mysql_query("select * from dd_celeb order by `Centimeters` ASC");
        while($OBJ=mysql_fetch_array($SelQry))
        {
    ?>
        <option value="<?=stripslashes($OBJ['Feet Inches']);?>"><?=stripslashes($OBJ['Feet Inches']);?> (<?=stripslashes($OBJ['Centimeters']);?>)</option>
    <? }?>
    </select></td>
  </tr>
  <tr>
    <td> </td>
    <td align="left"><input type="submit" name="submit" id="submit" value="Submit" onclick="chk();return false;" />
    <input type="hidden" name="HidSubmitAddUser" id="HidSubmitAddUser" value="0" />
    </td>
  </tr>
  </form>
</table>


</body>

og her følger connect.php, som jeg ikke selv har lavet, men forsøgt at sakse fra en hjemmeside med eksempler.

<?php
session_start();
include ("include/config.inc.php");

$db=mysql_connect($DBSERVER, $USERNAME, $PASSWORD) or die(mysql_error());
mysql_select_db($DATABASENAME,$db);
$linkpath="http://".$_SERVER['HTTP_HOST']."/".$folder."/index.php";

$sitepathh=$_SERVER['HTTP_HOST'];
if($sitepathh!="leo")
{
    $tempp=substr($sitepathh,0,3);
    if($tempp!="www")
    {
        echo "<script>window.location.href='".$SITE_URL."/';</script>";
    }
}

?>

Og jeg ved at config.inc.php er sat rigtigt op
Avatar billede olebole Juniormester
18. april 2012 - 16:18 #1
<ole>

Du nøjes med at forbinde til serveren og vælge en database - men du indsætter aldrig noget:

$db=mysql_connect($DBSERVER, $USERNAME, $PASSWORD) or die(mysql_error());
mysql_select_db($DATABASENAME,$db);
// Her mangler du en query med INSERT

/mvh
</bole>
Avatar billede Slettet bruger
18. april 2012 - 16:26 #2
Er jeg den eneste der undrer mig over din onclick-attribute på din submit-knap?
onclick="chk();return false;"

Hvis jeg ikke tager 100% fejl, så vil jeg da mene at return false; stopper submit af formularen.
Avatar billede olebole Juniormester
18. april 2012 - 17:33 #3
@roxki: Nej, du er ikke den eneste - og enctype="multipart/form-data" undrer mig såmænd også. På den anden side findes mange mere eller mindre sære valideringløsninger, så deeeeeet ....  =)

Slutter funktionen chk med:

frm.submit()

- submittes formen. Uden query kan det dog være rystende ligegyldigt, om formen submittes eller ej  =)
Avatar billede Slettet bruger
18. april 2012 - 18:04 #4
Uden query kan det dog være rystende ligegyldigt, om formen submittes eller ej
Selvfølgelig, selvfølgelig! :-)
Men den skulle da stadig lige nævnes, i tilfælde af formularen ikke bliver submittet inde i chk().
Avatar billede olebole Juniormester
18. april 2012 - 18:27 #5
Sæ'føl'somt  *o)
Avatar billede grevlindgren Nybegynder
18. april 2012 - 20:10 #6
Ah ja, return false, var fordi jeg var ved at eksperimenterer med at hvis man udfyldte forkert promtede den en fejl, men det lader jeg lige ligge til jeg har mere styr på basis.
Vi er enige om at syntax for insert er:

Insert into table (række1, etc.)
Values (værdi1, værdi2 etc.)

Men overskriver jeg så ikke de data der er i db? eller lægger det sig i de nye rækker jeg opretter med første linie?

Anyway 1000 tak for hurtig og kompetent svar.
Avatar billede grevlindgren Nybegynder
18. april 2012 - 20:12 #7
Takker!
Avatar billede grevlindgren Nybegynder
18. april 2012 - 20:12 #8
øh hvorfor kan jeg ikke få lov at give points til andre end mig selv???
Avatar billede Slettet bruger
18. april 2012 - 20:26 #9
Fordi kun du har angivet svar :-)

Men overskriver jeg så ikke de data der er i db? eller lægger det sig i de nye rækker jeg opretter med første linie?

Når man bruger INSERT-statement, så indsætter den nye rækker i database tabellen.
Avatar billede olebole Juniormester
18. april 2012 - 20:33 #10
- og når du alligevel er ved at lære MySQL fra bunden, kan du ligeså godt lære en tidssvarende syntaks med prepared statements og MySQLI ('I' for Improved)  *o)
Avatar billede grevlindgren Nybegynder
18. april 2012 - 20:33 #11
Ahhh :-) okay, var jeg ikke LIGE obs på. :-)

Men okay, jeg prøver med mysql_query (insert into etc.

Takker :-)
Avatar billede grevlindgren Nybegynder
18. april 2012 - 20:37 #12
Cool, vil straks kaste mig ud i læsning, og ja jeg er fra bunden, men man skal jo starte et sted :-)
Avatar billede Slettet bruger
18. april 2012 - 20:40 #13
Egentlig ærveligt det ikke er muligt at sætte en signatur for sin profil herinde, med alle de gange, du efterhånden har henvist folk til din guide, hva olebole? ;-)
Avatar billede olebole Juniormester
18. april 2012 - 20:41 #14
Præcis! Dér har vi såmænd alle været  *o)
Avatar billede olebole Juniormester
18. april 2012 - 20:44 #15
#14 var svar på #12  =)

#13: Det kan man faktisk godt, men det ville nok være at stramme den. Ja, jeg henviser ofte til den, for nu må det snart være på tide, at folk kommer videre  =)
Avatar billede olebole Juniormester
18. april 2012 - 20:50 #16
#13: Da vi efterhånden ingen Admin har (eller rettere: Vi har en, der tydeligvis ikke gider sit job!), er der gået total inflation i, hvad der tillades. Et eksempel på, hvordan 'Mit website' bruges til 'skøgereklamer'  :o|
Avatar billede Slettet bruger
18. april 2012 - 22:48 #17
@olebole: Jeps det dejligt!
Avatar billede grevlindgren Nybegynder
19. april 2012 - 14:11 #18
Nå kære hjælpere, jeg vil gerne uddele nogle points for i har virkelig hjulpet... virker det så? Nej ikke endnu, for nu skal hele sql-delen så laves forfra ;-) Men det er godt, handler ikke om at blive færdig med noget lige nu, men lærer så tak endnu en gang.
Så please make jer selv tilgængelig for pointmodtagelse :-)
Avatar billede olebole Juniormester
19. april 2012 - 15:54 #19
Jeg samler ikke point, så de må tilfalde andre. Men tak for tilbudet  =)
Avatar billede Slettet bruger
19. april 2012 - 16:27 #20
Du får et svar fra mig her, hvis du vil gi mig points!
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