Avatar billede gummisko Nybegynder
30. juni 2005 - 08:50 Der er 33 kommentarer og
2 løsninger

ASP-side skal laves om til PHP

Hej PHP-guruer!
Da mit webhotel kun kører php og ikke asp, skal jeg have lavet en eksisterende og velfungerende asp-side om til php.

Funktionen på siden er:
1.Der modtages en tekststreng, som skal laves til et array. Fra dette array vælges nogle af posterne og sendes videre i en mail.

ASP-koden ser sådan ud:

<%
Set browser=Server.CreateObject("MSWC.BrowserType") 'Bruges til at finde frem til Browsertype, Operativsystem og Browserversion

rigtige = request("Quiz Results")
quiznavn = request("subject")
modtagers_email = request("modtagers_email")
din_email = request("din_email")
navn = request("navn")
skole = request("skole")
klasse = request("klasse")
kommentar = request("kommentar")


bolWasPosted = Request.ServerVariables("HTTP_METHOD") = "POST"
    If bolWasPosted Then
    strTest = Trim(request("Quiz Results"))

    strTest = Replace(strTest,"Core Data ","")
    strTest = Replace(strTest, """", "")
   
    arrTest = split(strTest,",")
    procent = (arrTest(6)/arrTest(8)*100 & "%")
    svar = (arrTest(6))
    pas = (arrTest(7)/arrTest(8)*100 & "%")
    max = (arrTest(8))
    min = (arrTest(9))
if pas => procent then
besta ="Quizzen er bestået"
else
besta ="Quizzen er ikke bestået"
end if

end if

%>

Hvordan oversættes dette til php???

Mange hilsner fra Bjarne
Avatar billede coderdk Praktikant
30. juni 2005 - 09:09 #1
Noget i stil med:

<?php

    $rigtige = $_REQUEST["Quiz Results"];
    $quiznavn = $_REQUEST["subject"];
    $modtagers_email = $_REQUEST["modtagers_email"];
    $din_email = $_REQUEST["din_email"];
    $navn = $_REQUEST["navn"];
    $skole = $_REQUEST["skole"];
    $klasse = $_REQUEST["klasse"];
    $kommentar = $_REQUEST["kommentar"];
   
    $bolWasPosted = ( $_SERVER['REQUEST_METHOD'] = "POST" );
    if ( $bolWasPosted )
    {
        $strTest = trim($_REQUEST["Quiz Results"]);

        $strTest = str_replace( "Core Data ", "", $strTest );:
        $strTest = str_replace( '"', '', $strTest );
 
        $arrTest = explode(',', $strTest);
        $procent = ( $arrTest[6] / $arrTest[8] * 100 ) . "%";
        $svar = $arrTest[6];
        $pas = ( ( $arrTest[7] / $arrTest[8] ) * 100 ) . "%";
        $max = $arrTest[8];
        $min = $arrTest[9];
        if ( $pas => $procent )
        {
            $besta = "Quizzen er bestået";
        }
        else
        {
            $besta ="Quizzen er ikke bestået";
        }
  }
 
?>
Avatar billede gummisko Nybegynder
30. juni 2005 - 09:20 #2
ja, bare man ved det, så ser det let ud, men....... OKAY!!
Følgeproblem: kan du så det til at spille sammen med resten af koden på asp-siden - eller skal jeg lave et nyt spørgsmål??
Her er den ihverttilfælde:

<HTML>
<HEAD>
<TITLE>Send resultatet fra quizzen</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' skal være en e-mailadresse.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' skal indeholde et nummer.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' mangler.\n'; }
  } if (errors) alert('De(n) følgende fejl opstod:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</HEAD>
<body text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="20" topmargin="20" style="color: #000000; font-family: Verdana; font-size: 8 pt" >
<img src="../billeder/logo.jpg" width="700" height="70">
<p>
  <% if mode <> "send" then %>

<form method="POST" action="confirm.asp?mode=send">        <table>   
    <tr>
    <td width="98%" colspan="2" valign="top"><p><font face="Tahoma, Verdana" size="2"><br>
            <font size="3"><strong>Resultatet fra quizzen</strong></font></font></p> 
      <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Quizzens navn: <%=quiznavn%> <br>
      <br>
      Antal mulige point: <%=Response.write(max)%><br>
      Procent for at bestå quizzen: <%=Response.write(pas)%><br>
      Opnåede antal point: <%=Response.write(svar)%><br> 
      Resultatet i procent: <%=Response.write(procent)%><br>   
      <%=Response.write(besta)%></font><br> 
        <p><font size="2" face="Tahoma, Verdana"><strong>Her skal du udfylde
              alle felter og derefter klikke p&aring; Send. Dermed sender du
              en e-mail til din underviser.</strong><br>
        <br>
        </font>
        </p>
      </td>
      </tr>
    <tr>
    <td width="30%" valign="top"><font face="Tahoma, Verdana" size="2">Underviserens e-mail</font></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="modtagers_email" size="40"></font></td>
    </tr>
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Din e-mail</font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="din_email" size="40"></font></td>
      </tr>
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Dit navn </font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="navn" size="40"></font></td>
      </tr>   
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Din skole </font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="skole" size="40"></font></td>
      </tr>
      <tr>
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Din klasse </font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="klasse" size="40"></font></td>
      </tr>   

      <tr>
    <td width="30%" valign="top"><font face="Tahoma, Verdana" size="2"><br>Kommentar til quizzen el.lign.</font></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"> <br><textarea style="font-family:Tahoma ; font-size: 8 pt" name="kommentar" cols="50" rows="4"></textarea>
    </font></td>
  </tr>
  <tr>
    <td width="98%" colspan="2">
    <input name="max" type="hidden" value="<%=Response.write(max)%>">
    <input name="svar" type="hidden" value="<%=Response.write(svar)%>">
    <input name="procent" type="hidden" value="<%=Response.write(procent)%>">   
    <input name="besta" type="hidden" value="<%=Response.write(besta)%>">   
    <input name="quiznavn" type="hidden" value="<%=Response.write(quiznavn)%>">   
    <input type="submit" value="Send" name="send"  onClick="MM_validateForm('modtagers_email','','RisEmail','din_email','','RisEmail','navn','','R','skole','','R','klasse','','R');return document.MM_returnValue">
   
    </td></tr></table></form>
  <%end if%>

</BODY>

Har en stump kode så kvitteringen for afsendelse kommer på den samme side - så behøver jeg ikke at bruge 2 sider. Den kommer her:
<html>
<head>
<title>Mailform</title>
</head>
<body>
<?php
if ($name && $email && $age && $message) {
    mail("bm@skivehs.dk", "Form fra...", "
          Name: $name\n
          Email: $email\n
          Age: $age\n
          Message: $message\n", "From: $name <$email>");
    echo "Tak $name fordi du skrev.<br>";
    echo  "Vi vil svare hurtigst muligt.";
} else {
    echo "Alle felter skal udfyldes, tak.";
?>
<form method="post" action="<?php $PHP_SELF ;?>">
<table border="0" cellpadding="0" cellspacing="5" width="377">
<tr>
<td width="74">Name</td>
<td width="299"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td width="74">Email</td>
<td width="299"><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td width="74">Age</td>
<td width="299"><input type="text" name="age" size="20"></td>
</tr>
<tr>
<td width="74">message</td>
<td width="299"><textarea rows="4" name="message" cols="25"></textarea></td>
</tr>
<tr>
<td width="74"></td>
<td width="299"><input type=submit value="Send Mail"></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>

TUSINDE HILSNER!!!!!!!!!!!!!!!!!!!
Avatar billede busschou Praktikant
30. juni 2005 - 10:28 #3
Helt generelt skal du lave alle dine <% %> om til <? ?>
If statements indeholder ikke nogle Then og End If men er omklamret i stedet
Så er der lidt syntaks omkring alt andet, fx er <> i php !=
Så denne her linje
<% if mode <> "send" then %>
bliver til
<?
if (mode != "send"){
  // kode som så eksekveres her
}
?>
Avatar billede busschou Praktikant
30. juni 2005 - 10:29 #4
Jeg ved ikke hvordan du har fået denne her til at virke før ?
<%=Response.write(max)%>
For <%= er jo i sig selv en forkortelse for response.write
response.write hedder i php echo og du kan tilsvarende benytte <?= som forkorter
Dvs <?=max?>
Avatar billede gummisko Nybegynder
01. juli 2005 - 09:04 #5
Nu har jeg prøvet - vil I kommentere følgende:

<?php

    $rigtige = $_REQUEST["Quiz Results"];
    $quiznavn = $_REQUEST["subject"];
    $modtagers_email = $_REQUEST["modtagers_email"];
    $din_email = $_REQUEST["din_email"];
    $navn = $_REQUEST["navn"];
    $skole = $_REQUEST["skole"];
    $klasse = $_REQUEST["klasse"];
    $kommentar = $_REQUEST["kommentar"];
   
    $bolWasPosted = ( $_SERVER['REQUEST_METHOD'] = "POST" );
    if ( $bolWasPosted )
    {
        $strTest = trim($_REQUEST["Quiz Results"]);

        $strTest = str_replace( "Core Data ", "", $strTest );:
        $strTest = str_replace( '"', '', $strTest );
 
        $arrTest = explode(',', $strTest);
        $procent = ( $arrTest[6] / $arrTest[8] * 100 ) . "%";
        $svar = $arrTest[6];
        $pas = ( ( $arrTest[7] / $arrTest[8] ) * 100 ) . "%";
        $max = $arrTest[8];
        $min = $arrTest[9];
        if ( $pas => $procent )
        {
            $besta = "Quizzen er bestået";
        }
        else
        {
            $besta ="Quizzen er ikke bestået";
        }
  }
 
?>


<HTML>
<HEAD>
<TITLE>Send resultatet fra quizzen</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' skal være en e-mailadresse.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' skal indeholde et nummer.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' mangler.\n'; }
  } if (errors) alert('De(n) følgende fejl opstod:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</HEAD>
<body text="#000000" link="#000000" vlink="#000000" alink="#000000" leftmargin="20" topmargin="20" style="color: #000000; font-family: Verdana; font-size: 8 pt" >
<img src="../billeder/logo.jpg" width="700" height="70">
<p>
<?php
if ($modtagers_email && $din_email && $navn && $skole && $klasse) {
    mail($modtagers_email<$modtagers_email>, "Resultat fra quiz i ElearningForce", "
          Quizzens navn: $quiznavn\n
          Name: $navn\n
          Email: $din_email\n
          Klasse: $klasse\n
          Skole: $skole\n
          Maksimalt kan opnås $max point\n
          $navn opnåede $svar point.\n
          Svarende til $procent\n
          Quizzen er $besta\n
          Kommentarer fra $navn: $kommentar\n", "Fra: $navn <$din_email>");
    echo "Tak $navn fordi du sendte denne besvarelse til $.<br>";
    echo  "Med venlig hilsen <br>ElearningForce.";
} else {
    echo "Alle felter skal udfyldes, tak.";
?>



<?
if (mode != "send"){



<form method="POST" action="<?php $PHP_SELF ;?>?mode=send">       
    <table>   
    <tr>
    <td width="98%" colspan="2" valign="top"><p><font face="Tahoma, Verdana" size="2"><br>
            <font size="3"><strong>Resultatet fra quizzen</strong></font></font></p> 
      <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Quizzens navn: <?quiznavn?> <br>
      <br>
      Antal mulige point: <?max?><br>
      Procent for at bestå quizzen: <?pas?><br>
      Opnåede antal point: <?svar?><br> 
      Resultatet i procent: <?procent?><br>   
      <?besta?></font><br> 
        <p><font size="2" face="Tahoma, Verdana"><strong>Her skal du udfylde
              alle felter og derefter klikke p&aring; Send. Dermed sender du
              en e-mail til din underviser.</strong><br>
        <br>
        </font>
        </p>
      </td>
      </tr>
    <tr>
    <td width="30%" valign="top"><font face="Tahoma, Verdana" size="2">Underviserens e-mail</font></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="modtagers_email" size="40"></font></td>
    </tr>
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Din e-mail</font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="din_email" size="40"></font></td>
      </tr>
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Dit navn </font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="navn" size="40"></font></td>
      </tr>   
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Din skole </font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="skole" size="40"></font></td>
      </tr>
      <tr>
    <tr>
    <td width="30%" valign="top"><p><font face="Tahoma, Verdana" size="2">Din klasse </font></p></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"><input type="text" name="klasse" size="40"></font></td>
      </tr>   

      <tr>
    <td width="30%" valign="top"><font face="Tahoma, Verdana" size="2"><br>Kommentar til quizzen el.lign.</font></td>
    <td width="68%" valign="top"><font face="Tahoma, Verdana" size="2"> <br><textarea style="font-family:Tahoma ; font-size: 8 pt" name="kommentar" cols="50" rows="4"></textarea>
    </font></td>
  </tr>
  <tr>
    <td width="98%" colspan="2">
    <input name="max" type="hidden" value="<?max?>">
    <input name="svar" type="hidden" value="<?svar?>">
    <input name="procent" type="hidden" value="<?procent?>">   
    <input name="besta" type="hidden" value="<?besta?>">   
    <input name="quiznavn" type="hidden" value="<?quiznavn?>">   
    <input type="submit" value="Send" name="send"  onClick="MM_validateForm('modtagers_email','','RisEmail','din_email','','RisEmail','navn','','R','skole','','R','klasse','','R');return document.MM_returnValue">
   
    </td></tr></table>
</form>
}
?>
</body>
</html>
Avatar billede gummisko Nybegynder
01. juli 2005 - 09:24 #6
Den kan ikke lide:
if ( $pas => $procent )

Giver fejlen:
Parse error: parse error, unexpected T_DOUBLE_ARROW in mail/index.php on line 26
Avatar billede gummisko Nybegynder
01. juli 2005 - 09:35 #7
og heller ikke starten på form:
<form method="POST" action="index.php?mode=send">       

Parse error: parse error, unexpected '<' in mail/index.php on line 100
Avatar billede gummisko Nybegynder
01. juli 2005 - 10:12 #8
og denne virker heller ikke:
        $strTest = trim($_REQUEST["Quiz Results"]);

        $strTest = str_replace( "Core Data ", "", $strTest );
        $strTest = str_replace( '"', '', $strTest );
 
        $arrTest = explode(',', $strTest);

der kommer intet ud af denne, suk
Avatar billede gummisko Nybegynder
01. juli 2005 - 10:13 #9
er core data defineret i PHP??
Avatar billede busschou Praktikant
01. juli 2005 - 11:52 #10
Til din kommentar 09:35:46
Så er det fordi du skal afslutte din php kode når du vil outputte ren html, analogt til asp faktisk
Så følgende mm:
---
<?
if (mode != "send"){
<form method="POST" action="<?php $PHP_SELF ;?>?mode=send">
---
skal rettes til
---
<?
if (mode != "send"){
?>
<form method="POST" action="<?php $PHP_SELF ;?>?mode=send">
Avatar billede busschou Praktikant
01. juli 2005 - 11:55 #11
angående din kommentar 09:24:34
Hvis du ønsker at $pas skal være større end eller lig med $procent så skal det være sådan her
if ( $pas >= $procent )
Men fordi fx $pas = 15% og $procent = 10%
Så ved jeg ikke hvordan den vil reagere på
if ( '15%' >= '10%' )
Da det jo ikke er tal sammenligning!
Avatar billede busschou Praktikant
01. juli 2005 - 11:59 #12
Angående din kommentar 10:13:15
core data ?
Linjen:
$strTest = str_replace( "Core Data ", "", $strTest );
Betyder jo at den i $strTest skal udskifte forekomster af strengen "Core Data " med ingenting, nemlig ""
Så hvad mener du med om core data er defineret ? Det er ren streng sammenligning og udskiftning
Avatar billede coderdk Praktikant
01. juli 2005 - 12:00 #13
if (mode != "send"){

skal vel enten være:

if ($mode != "send"){

eller

if ($_GET['mode'] != "send"){
Avatar billede busschou Praktikant
01. juli 2005 - 12:03 #14
hov ja den overså jeg :o)
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:18 #15
okay, nu kommer der noget sjovt:

når Quiz Results sendes fra kilden som post (en form i en flash quiz) til asp-siden vises indholdet i Quiz Results.

Når jeg gør præcis det samme på php-siden er Quiz Results tom -

er $rigtige = $_REQUEST["Quiz Results"];
det samme som rigtige = request("Quiz Results")

Det sjove er at $quiznavn = $_REQUEST["subject"]; er i orden og viser indholdet af tekststrengen.

-bare man var php-programmør, suk
Avatar billede busschou Praktikant
01. juli 2005 - 12:22 #16
Dine udskrifter her ved denne osv
Antal mulige point: <?max?><br>
Skal vel også laves om til
Antal mulige point: <?=$max?><br>
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:28 #17
tak for det!
men hvad med tekststregen som ikke modtages - den indeholder alle punkter til SCORM - en hel del tekst.
Avatar billede busschou Praktikant
01. juli 2005 - 12:31 #18
Hvor kommer Quiz Results fra ? Jeg synes ikke jeg kan se et felt i formen med det navn?
Hvis ikke der er et felt så er det jo klart den er tom ;o)
I øvrigt vil jeg også anbefale dig at benytte $_POST og $_GET i stedet for $_REQUEST, når din form har henholdsvis method="post" og method="get"
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:32 #19
Quiz Result ser således ud når den modtages på asp-siden:

Core Data "Status","Raw Score","Passing Score","Max Score","Min Score","Time" "passed","40","28","40","0","00:00:45" "Date","Time","Score","Interaction ID","Objective ID","Interaction Type","Student Response","Result","Weight","Latency" "07/01/05","12:31:12","10","I0003","I0003","matching","I0003_ANS_1;I0003_ANS_2;I0003_ANS_3;I0003_ANS_4;I0003_ANS_5;","correct","1","00:00:23" "07/01/05","12:31:21","10","I0002","I0002","fill-in","I0002_ANS","correct","1","00:00:07" "07/01/05","12:31:26","10","I0001","I0001","true-false","I0001_2;","correct","1","00:00:03" "07/01/05","12:31:35","10","I0004","I0004","choice","I0004_1;","correct","1","00:00:08"
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:35 #20
Hvor kommer Quiz Results fra ? 
Quiz Results sendes fra kilden som post (en form i en flash quiz) og modtages på denne php-side vha. $_REQUEST["Quiz Results"]; - men den er tom!!
Avatar billede busschou Praktikant
01. juli 2005 - 12:38 #21
ok så bare den ikke var med i den kode du postede tidligere , men hvis den kommer fra flash er det måske derfor
Jeg kender intet til flash desværre, eller til hvordan det hives over i php/asp
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:40 #22
nej, den kommer fra en helt normal HTML FORM som sender med POST
Avatar billede busschou Praktikant
01. juli 2005 - 12:41 #23
ok du er sikker på stavningen, for php er case sensitive, så der er forskel på store og små bogstaver - bare et tjek :o)
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:43 #24
Her er koden fra formularen:

function SendQuiz()  {
    var sHTML = "";
    sHTML += '<FORM id="formQuiz" method="POST" action="mail/index.php" target="_blank">';
    sHTML += '<INPUT TYPE="hidden" NAME="Quiz Results" VALUE=\'' + g_strQuizResults + '\'>';
    sHTML += '<INPUT TYPE="hidden" NAME="subject" VALUE=\'' + g_strSubject + '\'>';
    sHTML += '<br><input type="submit"><br>';
    sHTML += '</FORM>';
Avatar billede gummisko Nybegynder
01. juli 2005 - 12:45 #25
NAME="subject" går rent igennem
men NAME="Quiz Results" er tom når den modtages på php-siden men i orden på asp-siden  med rigtige = request("Quiz Results")

what to do???
Avatar billede busschou Praktikant
01. juli 2005 - 12:48 #26
ok så er jeg lidt lost desværre
Avatar billede gummisko Nybegynder
01. juli 2005 - 14:10 #27
så er det problem løst: kunne lide mellemrummet i Quiz Results

Nu kommer hele svineriet med, MEN: der er en fejl i måden den stripper tekststrengen og laver array

Warning: Division by zero in mail/index.php on line 26
Warning: Division by zero in mail/index.php on line 28

er metoden til at lave arrayet i orden???

Nu er det lige før,.........
Avatar billede busschou Praktikant
01. juli 2005 - 14:18 #28
Man må jo ikke dividere med nul så fejlen er vel i denne her og tilsvarende linjer
$procent = ( $arrTest[6] / $arrTest[8] * 100 ) . "%";
Fordi $arrTest[8] er nul
Du kan jo fange den med en If
If ($arrTest[8] == 0){
  $procent = "0%";
}else{
  $procent = ( $arrTest[6] / $arrTest[8] * 100 ) . "%";
}
Avatar billede gummisko Nybegynder
01. juli 2005 - 16:00 #29
okay, så er der kun en ting tilbage:

der skal fjernes \ fra teksten
Reslutatet ser således ud:
Antal mulige point max: \40\
Procent for at bestå quizzen: \28\
Opnåede antal point: \20\ ud af \40\

Har prøvet med $strTest = str_replace( "'\'", '', $strTest );  men det dur ikke, så............
Avatar billede gummisko Nybegynder
01. juli 2005 - 16:03 #30
heller ikke $strTest = str_replace( '\', '', $strTest );
Avatar billede coderdk Praktikant
01. juli 2005 - 16:17 #31
$strTest = stripslashes( $strTest );

?
Avatar billede gummisko Nybegynder
01. juli 2005 - 16:42 #32
DET VIRKER JUHU JUHU JUHU

Hvordan med de der point til begge af de dygtige herrer????
Hvordan deler man sån noen??

- og tusind tak
Avatar billede coderdk Praktikant
01. juli 2005 - 16:52 #33
Jeg er ikke helt klar over det, men du skal vist fordele points på en eller anden måde :) Jeg er ikke vandt til at bruge eksperten på den måde selv, jeg hjælper bare :)
Avatar billede busschou Praktikant
02. juli 2005 - 21:06 #34
Du vælger bare begge vores navne så fordeler den ligeligt
Alternativt kan man vist også vælge noget point fordeling :o)
Avatar billede gummisko Nybegynder
03. juli 2005 - 15:41 #35
Tak for hjælpen!!!!!!!!!!!!!
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