Avatar billede webmaster-patrick Nybegynder
08. februar 2006 - 12:58 Der er 5 kommentarer og
1 løsning

Submit-knap reformulering til tekst-link

Goddag

Jeg har downloaded ”Viewfinder Send to a Friend Script”, og kunne godt tænke mig at lave en lille ændring. Hele scriptet kan ses nedenunder, eller downloades her: http://www.viewfinderdesign.co.uk/archive/category/downloads/.

Submit-knappen ”Send” kunne jeg godt tænke mig, at lave om til et normalt tekst-link.

Jeg har prøvet at erstatte <input type="submit" id="submit" name="submit" value="Send"> med <a href="java script:document.recommend.submit()">Send</a>, og tilføje name="recommend" til <form…, uden at det vil virke.

Der sker ganske enkelt ingen ting, når man trykker på tekst-linket ”Send”.

Se evt. følgende links:
http://forsoeg.1go.dk/original.php - Med submitknap, virker
http://forsoeg.1go.dk/eksperten.php - Med tekst-link, virker ikke

Nogen som ved, hvad jeg gør galt?

På forhånd tak

<?php 
/***********************************************************/
/*  This script was created by Lee Penney.  Feel free to  */
/*  amend it and use it wherever you want, but please      */
/*  leave this credit intact.                              */
/*                                                        */
/*  My personal site is at www.thedigeratipeninsula.org.uk */
/*  and you can find more free scripts by me at            */
/*  www.viewfinderdesign.co.uk                            */
/*                                                        */
/*  To use this script, just change the site name and site */
/*  address details below, then put the file in a          */
/*  directory called 'recommend'.  Then put everything    */
/*  between the <script> tags in the enclosed index.html  */
/*  file in the html of the page you are using where you  */
/*  want the link to appear.                              */
/***********************************************************/

/* Change these details to suit your needs */

/* Enter the company name or site name here */
$sitename = "Viewfinder Design";

/* Enter the site web address */
$siteaddress = "http://www.viewfinderdesign.co.uk/";

?>
<html>
<head>
<title>Recommend to a Friend Script</title>
<!--<link href="default.css" rel="stylesheet" type="text/css" /> Uncomment this line if you have a CSS file you wish to use -->
<style type="text/css">
/* Some example styles, amend or remove as needed */
body { font-family: verdana, helvetica, sans-serif; font-size: 75%; }
label { float: left; clear: both; }
input { float: left; clear: both; font-family: verdana, helvetica, sans-serif; }
textarea { float: left; clear: both; width: 200px; font-family: verdana, helvetica, sans-serif; font-size: 0.98em; }
#yemail, #yname, #femail, #fname, #comments { width: 200px; border: 1px solid #bbb; background: #eee; }
#submit { margin-top: 1em; };
</style>
</head>

<body>
<?php

/* Do not edit below this line unless you know what you're doing */

$yname = $_POST['yname'];
$yemail = $_POST['yemail'];
$femail = $_POST['femail'];
$comments = $_POST['comments'];
$pageurl = $_GET['loc'];

function outputform() {

$pageurl = $_GET['loc']; ?>

<form method="post" action="original.php?loc=<?php echo "$pageurl"; ?>">

<label for="yname">Your Name:</label>
<input type="text" name="yname" id="yname" value="<?php echo "$_POST[yname]"; ?>" />

<label for="yemail">Your Email:</label> 
<input type="text" name="yemail" id="yemail" value="<?php echo "$_POST[yemail]"; ?>" />

<label for="femail">Friend's Email:</label>
<input type="text" name="femail" id="femail" value="<?php echo "$_POST[femail]"; ?>" />

<label for="comments">Comments:</label> 
<textarea name="comments" rows="3" id="comments"><?php echo "$_POST[comments]"; ?></textarea>

<input type="submit" id="submit" name="submit" value="Send">

</form>

<?php
}

if ($_POST['submit']) {

    if (($yname=="") || ($femail=="")|| ($yemail==""))  {
print "<p><strong>Error:</strong> Please complete all of the required form fields.</p>";
outputform();
    }
    else {
      if (!eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $yemail)) {
      print("<p><strong>Error:</strong> your email address is not in a valid format.</p>");
          outputform();
          exit;
    }
      if (!eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $femail)) {
      print("<p><strong>Error:</strong> your friend's email address is not in a valid format.</p>");
          outputform();
          exit;
    }
    $comments = stripslashes($comments);
    mail("$femail","$yname suggests that you stop by $sitename","\n\n$yname saw this on $sitename and thought you would should see it:\n\nURL: $pageurl \n\n Additional Comments: \n------------------------------------ \n$comments \n------------------------------------\n\nThis message was sent from $sitename ($siteaddress)","From:$yemail");
  echo "<p>Your recommendation to <strong>$femail</strong> has been sent.</p><p><a href=\"java script:window.close()\">Close Window</a></p>";
}
}
else {
?>
<p>Tell someone about <?php echo "$sitename"; ?>.</p>
<?php
outputform();
}
?>
</body>
</html>
Avatar billede jih Nybegynder
08. februar 2006 - 14:34 #1
<form method="post" action="original.php?loc=<?php echo "$pageurl"; ?>">

der har du grunden til at ingenting sker .. den sender dig videre til ?loc=$pageurl, som henviser til loc som bliver fetched fra den side man ellers kommer fra..

Du starter på http://forsoeg.1go.dk/eksperten.php og når du trykker på Send, bliver du sendt videre til http://forsoeg.1go.dk/eksperten.php?loc=
Avatar billede jih Nybegynder
08. februar 2006 - 14:37 #2
if ($_POST['submit']) {

og her har du grunden til at mailen ikke bliver sendt.. den tjekker om submit er blevet sendt.. tvivler stort på at man kan gøre det sådan med et link.. du kan omprogrammere php'en til at sige noget andet istedet for "if ($_POST['submit'])"

fx if ($_POST['femail'])
Avatar billede webmaster-patrick Nybegynder
08. februar 2006 - 18:04 #3
Tak for svaret.

Men ser du, hvis jeg skriver <input type="submit" id="submit" name="submit" value="Send"> virker det. Så det har ikke nødvendigvis noget at gøre med, at scriptet måske er lidt dårligt skrevet.

Og hvis jeg skriver <a href="java script:document.recommend.reset()">Nulstil</a>, virker det også.

Jeg ved bare ikke, hvorfor det ikke vil virke med <a href="java script:document.recommend.submit()">Send</a>.
Avatar billede jih Nybegynder
08. februar 2006 - 21:57 #4
se hvad jeg skrev "08/02-2006 14:37:47"..

Det er grunden .. du har ikke noget name eller id på din tekst, og det er ikke en del af din form.. derfor kan du ikke tjekke om "submit" er blevet sendt.. :)
Avatar billede webmaster-patrick Nybegynder
09. februar 2006 - 12:21 #5
Ahaaa... Nu kan jeg se, hvad du mener.

Jeg må lærer, at kigge svarene lidt bedre igennem (med speciel hentydning til et tidligere spørgsmål)...

Kom med et svar.
Avatar billede jih Nybegynder
09. februar 2006 - 14:18 #6
værsågod :)
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