Avatar billede grafik-anders Seniormester
03. august 2011 - 23:14 Der er 3 kommentarer og
1 løsning

Hvordan gemmer jeg former ved at klikke på et ud af mange links?

Hej

For at gemme alle mine former ved et klik på et link og for at kunne vide, hvilket link, som der er klikket på, har jeg udviklet denne kode, som nok for nogen til at trække på smilebåndet, men det virker - næsten. Den har nemlig et problem - siden genloader to gange, så jeg har svært ved at fange mine $_GET. Derfor jeg har også lavet et par work-arounds for at løse det problem, men det giver mig stadig bøvl omkring mine checkmarks. Hvordan får jeg java-koden til kun at reloade siden en enkelt gang i stedet for to?


<script language="JavaScript" type="text/JavaScript">

function submitform(elmA,getKode) {
  var dims= elmA.getAttribute("href"),
  sPosQuery = "edit=" + getKode;
  dims += (dims.indexOf("?")>-1 ? "&" : "?") + sPosQuery;
  elmA.setAttribute("href", dims);
    document.forms["editAll"].submit();
}

</script>
<?PHP

session_start(); //Åben sessionen

$userId=70;

$edit = $_GET['edit'];

if ($edit!="" AND $edit!=" "){
    $_SESSION['edit']=$edit;
}

mysql_connect("mysql18.cliche.dk", "shape.dk", "sp8fca") or die(mysql_error());
mysql_select_db("shape_dk") or die(mysql_error());

$userName=$_POST[userName];
$mail2=$_POST[mail2];
$pass1=$_POST[pass1];
$pass2=$_POST[pass2];
$abonner=$_POST[abonner];
$nyheder=$_POST[nyheder];
$description=$_POST[description];

if ($description!="") {
    mysql_query("UPDATE users SET description = '$description' WHERE id = $userId") OR DIE(mysql_error());
}

if ($userName!="") {
    mysql_query("UPDATE users SET email = '$mail2' WHERE id = $userId") OR DIE(mysql_error());
}

if ($mail2!="") {
    //$_SESSION['mail2']=$mail2;
    mysql_query("UPDATE users SET email = '$mail2' WHERE id = $userId") OR DIE(mysql_error());
}

if ($pass1!="" AND $pass2!="" AND $pass1!==$pass2) {
    mysql_query("UPDATE users SET password = '$pass1' WHERE id = $userId") OR DIE(mysql_error());
}
if ($abonner!="") {
    mysql_query("UPDATE users SET abonner = '$abonner' WHERE id = $userId") OR DIE(mysql_error());
}
if ($nyheder!="") {
    mysql_query("UPDATE users SET nyheder = '$nyheder' WHERE id = $userId") OR DIE(mysql_error());
}

$userName = mysql_query("SELECT userName FROM users WHERE id = $userId");
$userName = mysql_result($userName,0);

$userEmail = mysql_query("SELECT email FROM users WHERE id = $userId");
$userEmail = mysql_result($userEmail,0);

$userDescription = mysql_query("SELECT description FROM users WHERE id = $userId");
$userDescription = mysql_result($userDescription,0);
                 
$abonner = mysql_query("SELECT abonner FROM users WHERE id = $userId");
$abonner = mysql_result($abonner,0);

$nyheder = mysql_query("SELECT abonner FROM users WHERE id = $userId");
$nyheder = mysql_result($nyheder,0);

?>
<form name="editAll" action="form.php" method="post" enctype="multipart/form-data">
<?
if ($_SESSION['edit']=="navn") {
    ?>
    <input name="navn" type="text" class="overSkrift" value="<? echo $userName ?>">
    <br><a href="form.php" class="edit" onclick="submitform(this,'navnGem')">Gem</a><br><br>
    <?
} else {
    echo "Navn: ".$userName;
    ?>
    <br><a href="form.php" class="edit" onclick="submitform(this,'navn')">Ret</a><br><br>
    <?
}
    if ($_SESSION['edit']=="mailPass") {
?>
    Mail:<input name="mail2" type="text" class="sortLang" value="<? echo $userEmail?>">
    <br>Password:<input name="pass1" type="password" class="sortLang"><br>
    <br>Password:<input name="pass2" type="password" class="sortLang"><br>
    <a href="form.php" class="edit" onclick="submitform(this,'mailPassGem')">Gem</a><br><br>
    <?
} else {
    echo "Mail: ".$userEmail."<br>";
    echo "Password: x x x x x x<br>";
    echo "Password: x x x x x x<br>";
    ?>
    <a href="form.php" class="edit" onclick="submitform(this,'mailPass')">Ret</a><br><br>
    <?
}
?>
Abonner: <input name="abonner" type="checkbox" value="ja"
<?
if ($abonner=="ja"){
    echo "checked";
}
?> ><br>
Nyheder: <input name="nyheder" type="checkbox" value="ja"
<?
if ($nyheder=="ja"){
    echo "checked";
}
?> >
<br><br>
<?
if ($_SESSION['edit']=="text") {
    ?>
    <textarea name="description" rows="7" class="sort455"><? echo $userDescription; ?></textarea>
    <br>
    <a href="form.php" class="edit" onclick="submitform(this,'textGem')">Gem</a><br><br>
    <?
} else {
    echo $userDescription."<br>"; ?>
    <a href="form.php" class="edit" onclick="submitform(this,'text')">Ret</a>
    <?   
}
?>   
</form>


Du kan teste min ikke helt gode og lidt kreative (halve) løsning på her:



Hvordan gør jeg det bedre?

/Anders
Avatar billede olebole Juniormester
04. august 2011 - 01:08 #1
<ole>

Skift øjeblikkeligt dit password på din Cliche konto! Hvad tænker folk dog på ...?!??!!!

/mvh
</bole>
Avatar billede grafik-anders Seniormester
04. august 2011 - 19:58 #2
ups-ja!
Avatar billede grafik-anders Seniormester
04. august 2011 - 20:08 #3
Det var da godt nok ualmindeligt dumt, men der skete heldigvis ikke noget. Den er ændret nu. TAK for din opmærksomhed!
Avatar billede grafik-anders Seniormester
08. august 2011 - 19:00 #4
Jeg har udviklet lidt videre på min kode, så den nu næsten kan det, som jeg vil have den til. Det er ikke smukt, men det virker. Så må jeg forbedre den senere, hvis jeg på et tidspunkt skulle finde ud af hvordan.

Derfor lukker jeg.
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