Vraagje over een stuk code..

Status
Niet open voor verdere reacties.

deBrock

Nieuwe gebruiker
Lid geworden
9 dec 2013
Berichten
4
Ben al een tijdje bezig met een website dit is een promotie site, heb nu een klein dingetje erbij gemaakt dat leden
een website moeten invoeren bij hun gegevens. nu probeer ik dat ook te veranderen in een aantal script alleen wil eentje niet lukken..
het is regel vanaf 107... (heb ook even wat info er naast gezet)

hoop dat iemand me hiermee kan helpen

PHP:
<?php include ("../_include.php");
design_boven("$naamsite - Bannerkliks kopen");
check_login();	
include('menu.inc');
echo '<h2>Bannerkliks</h2>';
check_website();
?>
<?php 		
	$query = mysql_query("SELECT kliks FROM users WHERE user= '".mysql_real_escape_string($_SESSION['user'])."'");
	$userdata = mysql_fetch_assoc($query);


    if($_SERVER['REQUEST_METHOD'] === 'POST')
    {
	    
		$kosten = $bannerklikkoop;
		
	    if($userdata['kliks'] < $kosten)
	    {
		
			echo "<p>U heeft niet genoeg credits om dit aantal banner advertenties te plaatsen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
			
	    }
	    
		elseif($_POST['url'] == "http://")
		{
		
			echo "<p>U bent de URL vergeten in te vullen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
             
        } 	
        
		elseif($_POST['banner'] == "http://")
		{
		
			echo "<p>U bent de Banner URL vergeten in te vullen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
             
        } 	              
		
		elseif(empty($_POST['aantal']))
		{
			
			echo "<p>U bent vergeten een aantal in te vullen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
	    
	    }
			
		elseif(!preg_match('/^[0-9]{1,}$/', $_POST['aantal']))
		{
		
			echo "<p>Er zijn alleen getallen toegestaan in het veld 'Aantal' <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
	    	
	    }
		
		else 
		{
			
			mysql_query("
							INSERT INTO 
								bannerkliks 
							(
								gebruiker, 
								url,
								banner, 
								naam, 
								kliks
							) VALUES (
								'".mysql_real_escape_string($_SESSION['user'])."',
								'".mysql_real_escape_string($_POST['url'])."',
								'".mysql_real_escape_string($_POST['banner'])."',
								'".mysql_real_escape_string($_POST['naam'])."' ,
								'".mysql_real_escape_string($_POST['aantal'])."' 
							)
						");  
		
			

          	mysql_query("
          					UPDATE 
          						users 
          					SET 
          						kliks = kliks - ".mysql_real_escape_string($kosten)." 
          					WHERE 
          						user= '".mysql_real_escape_string($_SESSION['user'])."'
          				");
          				
			echo "<p>Uw banner advertentie is succesvol toegevoegd.</p>";
		}
 	}
  	else
 	{
?>
<p>Een banner advertentie kost <?php echo $bannerklikkoop; ?> credits.</p>
<form method='post' action=''>

		<p>Website:<br />
		<select name="url">
		<?php
		$query = "SELECT * FROM websites WHERE user= '".mysql_real_escape_string($_SESSION['user'])."'";
		$result = mysql_query($query) or die(mysql_error()."[".$query."]");

		while ($row = mysql_fetch_array($result))
		{
		echo "<option value='".$row['url']."'>".$row['naam']."</option>";
		}
		?>
		</select></p>
		
		<p>Banner URL: (468x60)<br />
        <input name="banner" type="text" value="http://" /></p>  <-- Deze moet op een of andere manier samengevoegd worden met de selectionbox hierboven, zodat wanneer er een website word aangeklikt de juiste banner
		er automatisch bij word geplaatst.
		
		<p>Aantal:<br />
        <input name="aantal" type="text" /></p>


<button type="submit" name="submit" id="submit" class="submit">Toevoegen</button>
</form>
<?php
	}

design_onder('1'); ?>
 
zou het misschien niet handig zijn als je ook verteld wat niet lukt en wat de foutmelding(en) zijn!
want dat zou het misschien helpen een stuk makkelijker maken.
 
Er zijn geen foutmeldingen, leden kunnen op deze pagina een banner plaatsen
alleen nu heb ik het zo veranderd dat de leden eerst een website en banner url moeten invullen (deze komt dan onder zijn/haar gebruikersnaam te staan) voordat ze een advertentie kunnen plaatsen.

in de code zie je dat de website(s) uit de database worden gehaald van de gebruiker en deze in een <option> zet.
dus kan er een keuze worden gemaakt welke website in de advertentie moet:
PHP:
<p>Website:<br />
        <select name="url">
        <?php
        $query = "SELECT * FROM websites WHERE user= '".mysql_real_escape_string($_SESSION['user'])."'";
        $result = mysql_query($query) or die(mysql_error()."[".$query."]");
 
        while ($row = mysql_fetch_array($result))
        {
        echo "<option value='".$row['url']."'>".$row['naam']."</option>";
        }
        ?>
        </select></p>

Nu wil ik het zo hebben dat als het lid een website heeft gekozen uit de <option>.. dan wil ik dat daar automatisch de juiste banner bij word geplaatst.
dus niet meer in een input zoals nu nog in de code staat.
PHP:
<p>Banner URL: (468x60)<br />
        <input name="banner" type="text" value="http://" /></p>
 
Mijn bevindingen van het script
mogelijks moet je nog kijken naar fouten op mysql daar er te weinig info is
PHP:
<?php
include ("../_include.php"); // waar kan ik deze include vinden en weten wat deze doen 
design_boven("$naamsite - Bannerkliks kopen");
check_login();
include ('menu.inc');
echo '<h2>Bannerkliks</h2>';
check_website();
//!!!important!!! select database not found
//!!!important!!! Script not secure save [23] errors
$query = mysql_query("SELECT kliks FROM users WHERE user= '" . mysql_real_escape_string($_SESSION['user']) . "'");
$userdata = mysql_fetch_assoc($query);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $kosten = $bannerklikkoop;
    if ($userdata['kliks'] < $kosten) {
        echo "<p>U heeft niet genoeg credits om dit aantal banner advertenties te plaatsen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
    } elseif ($_POST['url'] == "http://") {
        echo "<p>U bent de URL vergeten in te vullen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
    } elseif ($_POST['banner'] == "http://") {
        echo "<p>U bent de Banner URL vergeten in te vullen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
    } elseif (empty($_POST['aantal'])) {
        echo "<p>U bent vergeten een aantal in te vullen <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
    } elseif (!preg_match('/^[0-9]{1,}$/', $_POST['aantal'])) {
        echo "<p>Er zijn alleen getallen toegestaan in het veld 'Aantal' <a href='javascript:history.go(-1)'>&laquo; Ga terug..</a></p>";
    } else {
        // onderstaande kan geen enters verdragen zie mysql doc
        mysql_query("INSERT INTO bannerkliks (gebruiker, url,banner, naam, kliks
                            ) VALUES (
                                '" . mysql_real_escape_string($_SESSION['user']) ."',
                                '" . mysql_real_escape_string($_POST['url']) ."',
                                '" . mysql_real_escape_string($_POST['banner']) ."',
                                '" . mysql_real_escape_string($_POST['naam']) ."' ,
                                '" . mysql_real_escape_string($_POST['aantal']) ."' 
                            )
                        ");
        //doordat the where in mysql een enter kan verdragen heb deze laten staan 
        mysql_query("UPDATE users  SET   kliks = kliks - " .mysql_real_escape_string($kosten)."WHERE 
                                user= '" . mysql_real_escape_string($_SESSION['user']) ."'");
        echo "<p>Uw banner advertentie is succesvol toegevoegd.</p>";
    }
} else {
    ?>
        <p>Een banner advertentie kost <?php echo $bannerklikkoop;?> credits.</p>
        <form method='post' action=''>
                <p>
                    Website:<br />
                    <select name="url">
                    <?php
                        //bekijk obstart
                        /*
                            $cacheFilename = "countrys.cache";
                            mysql_select_db($db_name,$database);
                            $res = mysql_query("SELECT ...;",$database);
                            if ((file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time()) ){
                                $content = file_get_contents($cacheFile);
                                echo $content;
                            }else{
                                ob_start();
                                    print "<script>";
                                        print "$(function() {var availableCountrys = [";
                                            while ($row = mysql_fetch_assoc($res)){
                                                print '"'.$row['countryname'].'",'."\n";
                                            }
                                        print "];";
                                    print "</script>";
                                $content = ob_get_contents();
                                ob_end_clean();
                                file_put_contents('countrys.cache',$content);
                            }
                            @mysql_close($database);
                        */
                        $query = "SELECT * FROM websites WHERE user= '" . mysql_real_escape_string($_SESSION['user']) ."'";
                        $result = mysql_query($query) or die(mysql_error() . "[" . $query . "]");
                        while ($row = mysql_fetch_array($result)) {
                            echo "<option value='" . $row['url'] . "'>" . $row['naam'] . "</option>";
                        }
                    ?>
                    </select>
                </p>
                <p>
                    Banner URL: (468x60)<br />
                    <input name="banner" type="url" value="http://" />
                </p>
                <!-- Deze moet op een of andere manier samengevoegd worden met de selectionbox hierboven, zodat wanneer er een website word aangeklikt de juiste banner
                er automatisch bij word geplaatst.-->
                <p>
                    Aantal:<br />
                    <input name="aantal" type="text" />
                </p>
                <button type="submit" name="submit" id="submit" class="submit">Toevoegen</button>
        </form>
    <?php
}
design_onder('1');
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan