Avatar billede caweren Nybegynder
21. februar 2011 - 13:34 Der er 5 kommentarer

UPDATE i MySQL efter der er trykket på submit.

Hej alle,
Jeg er lidt ny til PhP og MySQL, så de ting jeg laver er MEGET skåret ud i pap...
går ikke så meget op i om de koder jeg skriver kunne skrives kortere, så det skal i ikke tage jer af.

Jeg skal lave en tilmeldingsside til min lillebror.
når man har skrevet sit navn, efternavn, email, klan navn og valgt hvilken plads man vil sidde på og trykker submit, skal ALLE oplysninger OPDATERES i databasen.

min kode ser således ud:

validering:

$sqlbetal="UPDATE pladser SET fornavn='$_POST[fornavn]', efternavn='$_POST[efternavn]', bestilt=1, Clan='$_POST[Clan]', email='$_POST[email]', optaget=1 WHERE ID='$_POST[Plads]"or die(mysql_error());

$exebetal=mysql_query($sqlbetal);
   
    if(isset($_POST[submit])){
  $errorfornavn='';
  if(trim($_POST[fornavn])=='' || is_numeric($_POST[fornavn])){
      $errorfornavn="* Skriv venligst et gyldigt fornavn.";
  }
  $errerefternavn='';
  if(trim($_POST[efternavn])=='' || is_numeric($_POST[efternavn])){
      $errorefternavn="* Skriv venligst et gyldigt efternavn.";}
 
  if(!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^", $_POST[email])){
    $erroremail="* Skriv venligst en gyldig Email.";}
   
    else { $exebetal; }
    }

selve strukturen:

<form id="form1" name="form1" method="post" onSubmit="valider()">
    <fieldset>
        <legend><strong>Bestil</strong></legend>
        *Fornavn: <input type="text" name="fornavn" id="fornavn"><br />
        *Efternavn: <input type="text" name="efternavn" id="efternavn"><br />
        *E-mail: <input type="text" name="email" id="email"><br />
        Klan: <input name="clan" type="text" id="clan" value=""><br />
        *<?php echo Dropdown(); ?>
        <input type="submit" name="submit" id="submit" value="Bestil">                     
    </fieldset>
</form>



Den skal altså finde ud af hvilken plads du har valgt at sidde på, finde det ID i databasen der matcher og så opdaterer den linje.

men det skal den KUN gør hvis der ikke er nogle fejl (altså hvis valideringen bliver gennemført uden fejl).

nogle der har nogle forslag?
Avatar billede caweren Nybegynder
21. februar 2011 - 13:37 #1
hov, glemte lige at skrive den selvfølgelig ikke opdaterer databasen. den "resetter" blot mine textfelter så du kan starte forfra.

jeg har fundet ud af at hvis valideringen går som den skal, så kan den godt skrive noget ud fra else{}, men den vil ikke udfører min variabel... det er DET der er mit problem xD
Avatar billede michael_stim Ekspert
21. februar 2011 - 13:40 #2
Du skal have en action på din form.
Avatar billede caweren Nybegynder
21. februar 2011 - 13:45 #3
kan du ikke lige forklarer hvordan jeg skal sætte den til?
den skal jo først validere, dernæst skal den gå videre til en betalingsside...

undskyld at jeg ikke er så skarp :s
Avatar billede michael_stim Ekspert
21. februar 2011 - 16:26 #4
<form id="form1" name="form1" method="post" onSubmit="valider()">

Der skal du have en action="din_side.php"
Avatar billede zynzz Praktikant
21. februar 2011 - 18:15 #5
Burde nok være:

$sqlbetal = "UPDATE pladser SET fornavn='".$_POST['fornavn']."', efternavn='".$_POST['efternavn']."', bestilt=1, Clan='".$_POST['Clan']."', email='".$_POST['email']."', optaget=1 WHERE ID='".$_POST['Plads']."'";
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

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