Avatar billede extension Nybegynder
10. juli 2007 - 15:28 Der er 11 kommentarer

Indsættelse af korrekt IF spørgsmål

Hej,

Jeg prøver ihærdigt at få dette script til at virke således:

Når der klikkes på enten email eller PM linket skal der trækkes 5 credits på brugerens konto, inden denne sendes videre til mail/PM formen.
Er brugerens konto i 0, skal jeg blot kunne indsætte en kort tekst, og brugeren får ikke adgang til at sende mail/PM
Mit problem er .. -jeg aner ikke hvad det er jeg sidder og laver.

________
        <?php

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

  if($mosmsg=Message+Sent){

$database->setQuery( "
SELECT * FROM #__users
WHERE id='$my->id'
" );
$row = null;
$database->loadObject($row);
$balance = $row->credit;

$database->setQuery( "
UPDATE #__users
SET credit=credit-5
WHERE id='$my->id'
" );
$database->query();

if ($row->credit == "0") {
header("Location: $mosConfig_live_site/index.php?option=com_paypal");
exit;
}
?>
________

Dette script har jeg anbragt i et modul (i Joomla)

Kan en eller anden hjælpe mig vil jeg blive overordentlig glad.

Mvh
Boris

IF sætningen skal sikkert plukkes fra nedenstående del af .php siden...


function show_message_form($option,$ad,$user,$mode,$allow_attachement,$itemid)
    {
        ?>
        <script language="javascript" type="text/javascript">
        function submitbutton() {
            var form = document.forms["saveForm"];// document.getElementById("saveForm");
            var r = new RegExp("[^0-9\.,]", "i");

        <?php if ($mode == 0) { ?>
            // do field validation
            if (form.email.value == "") {
                alert( "<?php echo _REGWARN_EMAIL;?>" );
            } else {
        <?php } ?>
                form.submit();
        <?php if ($mode == 0) { ?>
            }
        <?php } ?>
        }
        </script>
        <fieldset id="adsmanager_fieldset">
            <!-- titel -->
            <legend>
            <?php  echo ADSMANAGER_FORM_MESSAGE_WRITE; ?>
            </legend>
            <!-- titel -->
        <!-- form -->
        <?php $target = sefRelToAbs("index.php?option=$option&amp;page=send_message&amp;mode=$mode&amp;Itemid=$itemid");?>
        <form action="<?php echo $target;?>" method="post" name="saveForm" enctype="multipart/form-data">
                <?php if ($mode == 0) { ?>
                <!-- name -->
                    <label for="name"><?php echo ADSMANAGER_FORM_NAME; ?></label>
                    <?php echo "<input class='adsmanager_required' id='name' type='text' name='name' maxlength='50' value='".$user->name."' />"; ?>
                <!-- name -->
                <br />
                <!-- email -->
                    <label for="email"><?php echo ADSMANAGER_FORM_EMAIL; ?></label>
                    <?php echo "<input class='adsmanager_required' id='email' type='text' name='email' maxlength='50' value='".$user->email."' />"; ?>
                <!-- email -->
                <br />
                <?php } ?>
                <!-- title -->
                    <label for="title"><?php echo ADSMANAGER_FORM_MESSAGE_TITLE; ?></label>
                    <?php echo "<input class='adsmanager_required' id='title' type='text' name='title' maxlength='50' value=\"".ADSMANAGER_EMAIL_TITLE.htmlentities(stripslashes($ad->ad_headline),ENT_QUOTES)."\" />"; ?>
                <!-- title -->
   
                <br />
                <!-- body -->
                    <label for="body"><?php echo ADSMANAGER_FORM_MESSAGE_BODY; ?></label>
                    <?php  echo "<textarea class='adsmanager_required' id='body' name='body' cols='40' rows='10' wrap='VIRTUAL'>".ADSMANAGER_EMAIL_BODY.htmlentities(stripslashes($ad->ad_text),ENT_QUOTES)."</textarea>"; ?>
                <!-- body -->
                <br />
                <?php if (($mode == 0)&&($allow_attachement == 1)) { ?>
                <!-- Attach -->
                    <label for="body"><?php echo ADSMANAGER_ATTACH_FILE; ?></label>
                    <input id="attach_file" type="file" name="attach_file" />
                <br />
                <?php } ?>
                <!-- buttons -->
                    <label for="adid"></label>
                    <input type="hidden" name="gflag" value="0">
                    <?php
                    echo "<input type='hidden' name='adid' value='".$ad->id."' />";
                    ?>
                    <input type="button" value=<?php echo ADSMANAGER_SEND_EMAIL_BUTTON; ?> onclick="submitbutton()" />
                <!-- buttons -->
   
              </form>
              <!-- form -->
        </fieldset>
Avatar billede jakobdo Ekspert
11. juli 2007 - 19:54 #1
Jeg tror at $balance indeholder hvad credit er.
Men meget mere forstår jeg så heller ikke ved din kode.
Men lige efter: $balance = $row->credit;
Kunne du vel lave:

if($balance < 5)
{
echo 'Der er noget galt';
}
Avatar billede extension Nybegynder
11. juli 2007 - 21:04 #2
Tak for svaret...
- det er den første if-sætning der er forkert.
If sætningen der skulle " trække resten af scriptet i gang" er sikkert at finde i denne linie:

<?php $target = sefRelToAbs("index.php?option=$option&amp;page=send_message&amp;mode=$mode&amp;Itemid=$itemid");?>
Da det vist nok er denne der genererer mail og PM linket, og det er kun når (hvis) der klikkes på mail/PM linket scriptet skal afvikles.

Undskyld mine kryptiske forklaringer, men jeg har ikke meget forstand på php.

Mvh
Boris
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:09 #3
Mener du denne IF : if($mosmsg=Message+Sent) ?
Avatar billede extension Nybegynder
11. juli 2007 - 21:14 #4
Ja dette vises jo sikkert først efter at, mailen/PM'en er sendt.
Avatar billede extension Nybegynder
11. juli 2007 - 21:18 #5
Resten af scriptet virker sådan set efter hensigten, blot mangler jeg IF spørgsmålet (årsagen til at scriptet skal trække credits på brugerens konto). Uden IF sætningen trækkes der 5 credits, hver gang der klikkes på et link.
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:54 #6
Men indeholder $balance antal credits?
Avatar billede extension Nybegynder
11. juli 2007 - 22:03 #7
Ja, balance er = brugerens creditkonto
Avatar billede extension Nybegynder
11. juli 2007 - 22:06 #8
Men problemet er at denne IF sætning jeg har indsat ikke er den rigtige, og jeg ved ikke hvad jeg skal indsætte (fra php siden) istedet.
Avatar billede jakobdo Ekspert
12. juli 2007 - 08:04 #9
Hvis ikke du selv er en smule inde i php, så tror jeg desværre det er for stort et script til jeg kan sætte mig korrekt ind i dit script og dermed komme med løsningen.
Avatar billede extension Nybegynder
12. juli 2007 - 09:03 #10
Ok, men tak for indsatsen.
Avatar billede jakobdo Ekspert
12. juli 2007 - 09:29 #11
Det var jo desværre så lidt.
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