Scriptingvragen (PHP, JavaScript etc.)

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Bericht door Salomon » 15 mei 2007, 15:12

Oeps, foutje
Zoek:

Code: Selecteer alles

$pag = isset ( $_GET['pag'] ) : addslashes ( $_GET['pag'] ) : "home";
Vervang:

Code: Selecteer alles

$pag = isset ( $_GET['pag'] ) ? addslashes ( $_GET['pag'] ) : "home";
Ofwel, verander de eerste : met ?

En header.php en footer.php moeten wel bestaan :P

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20306
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 15 mei 2007, 15:34

het is onzinnig om die get var te addslashen.

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door svenn » 28 mei 2007, 08:47

Ik zit even vast met het volgende, en ik zie niet meteen waar ik misloop.
ik moet een array includen in een bestandbrowser talen; Om dingen te includen heb ik een kleine functie;
namelijk :

Code: Selecteer alles

function add($path,$file,$nood,$text)
{
	if (!file_exists($file)) 
      	{	
		// check from mainmap
		$include = $path.$file;
	  	error("Bestand bestaat niet! $include<br/>$text","1");
	}
	else
	{
		echo "<i>".$path.$file."</i><br>";
		include($path.$file);
	}
}
nu pas ik deze toe, maar het vreemde is, dat de eerste 2 bestanden worden ge-included en de 3de niet. Wanneer ik gewoon met include(); werk, komt de array wel mee :s :

Code: Selecteer alles

<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// basic startup
include "./start.php";
$path = "";
// file adding

add($path,"classes/template.class.php","1","bewerk bestand ontbreekt");//<-- deze werkt
add($path,"classes/engine.class.php","1","engine bestand ontbreekt");//<-- deze werkt
add($path,"classes/talen.class.php","0","taal bestand ontbreekt");//<-- deze werkt niet :-(

//include "classes/talen.class.php"; //<-- deze werkt
// knip knip code ;)
?>

Gebruikersavatar
Bas
Berichten: 2741
Lid geworden op: 02 dec 2003, 17:38
Locatie: Omgeving Goslar (Duitsland)
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Bas » 28 mei 2007, 09:09

De include gebeurt daar in de scope van die functie, en de definitie van $talen ook. :) Zet dus, bovenin je talenarray-bestand, global $talen; :)

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 13:04

Ring.php Wanneer ik naar ?id=9&act=next ga, kom ik gewoon op de index van de site zelf terecht, en niet bij array element #1, http://www.janmarques.net

Wat doe ik fout?
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door ElbertF » 28 mei 2007, 13:08

$input == count($sites);

count() telt 10 vars in de array, geen 9.

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 13:11

Ja, fout geformuleerd, maar toch komt ie er bij 9 niet door, bij 10 gaat ie inderdaad netjes weer naar de eerste.
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door ElbertF » 28 mei 2007, 13:15

Hij probeert naar 10 te gaan, maar $sites[10] bestaat dus niet.

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 13:37

Ik geef toch op dat ie bij de uiterste waarde naar het 2e element moet gaan, wat die uiterste waarde ook mag zijn?

Hij doet het daarmee niet...
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Salomon » 28 mei 2007, 14:12

Als de actie random is en id niet is ingesteld, werkt de if nog niet helemaal, maar dit werkt iig wel:
Spoiler: bekijk

Code: Selecteer alles

<?php
# [RING.PHP] - Script + English Guide
# ?? Jan Marques, 2007 (http://dev.janmarques.net/)
#
// Global
//     - Which site?
$input = $_GET['id'];
$action = $_GET['action'];

if ( empty ( $action ) || ( !in_array ($action, array("random", "previous", "next" ) ) ) || ( empty ( $input ) && $action != "random" ) || ( !is_numeric ( $input ) ) )
{
    die("ID/ACTION was not well defined!");
}

//     - Define sites in ring
$sites = array(
   1 => "http://www.janmarques.net",
        "http://mods.janmarques.net/",
        "http://www.therebelfactory.com/",
        "http://www.gta-antwerp.com", 
        "http://www.wmstart.nl", 
        "http://www.phpbb.nl", 
        "http://www.cuteptr.com", 
        "http://www.slforums.be", 
        "http://www.google.be"
);

// Random link
$random = array_diff($sites, array($sites[$input])); 
$random = array_rand($random);
$random = $sites[$random];

// Previous link
if ($input == 1)
{
    $previous = array_pop($sites);
}
else
{
    $number = $input - 1;
    $previous = $sites[$number];
}

// Next link
if ($input ==  ( count($sites) + 1 ) )  
{
    $next = $sites[1];
}
else
{
    $number = $input + 1;
    $next = $sites[$number];
}

switch($action)
{
    case "random":
        die("Location: " . $random);
    break;
        
    case "previous":
        die("Location: " . $previous);
    break;
        
    case "next":
        die("Location: " . $next);
    break;
}

?>

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 14:28

Lol, absoluut niet.

Hij heeft nu weer:
ring.php?action=next&id=8
Location: http://www.google.be
ring.php?action=next&id=9
Location:
ring.php?action=next&id=10
Location: http://www.janmarques.net
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Salomon » 28 mei 2007, 14:29

Ow wacht, vervang die door header
Wijziging: Uhm, werkt het nu?
Spoiler: bekijk

Code: Selecteer alles

<?php
# [RING.PHP] - Script + English Guide
# ?? Jan Marques, 2007 (http://dev.janmarques.net/)
#
// Global
//     - Which site?
$input = $_GET['id'];
$action = $_GET['action'];

if ( empty ( $action ) || ( !in_array ($action, array("random", "previous", "next" ) ) ) || ( empty ( $input ) && $action != "random" ) || ( !is_numeric ( $input ) ) )
{
    die("ID/ACTION was not well defined!");
}

//     - Define sites in ring
$sites = array(
   1 => "http://www.janmarques.net",
        "http://mods.janmarques.net/",
        "http://www.therebelfactory.com/",
        "http://www.gta-antwerp.com", 
        "http://www.wmstart.nl", 
        "http://www.phpbb.nl", 
        "http://www.cuteptr.com", 
        "http://www.slforums.be", 
        "http://www.google.be"
);

// Random link
$random = array_diff($sites, array($sites[$input])); 
$random = array_rand($random);
$random = $sites[$random];

// Previous link
if ($input == 1)
{
    $previous = array_pop($sites);
}
else
{
    $number = $input - 1;
    $previous = $sites[$number];
}

// Next link
if ($input ==  ( count($sites) + 1 ) )  
{
    $next = $sites[1];
}
else
{
    $number = ( $input == count( $sites ) ) ? 1 : $input + 1;
    $next = $sites[$number];
}

switch($action)
{
    case "random":
        header("Location: " . $random);
    break;
        
    case "previous":
        header("Location: " . $previous);
    break;
        
    case "next":
        header("Location: " . $next);
    break;
}

?>

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 14:58

Ja, maar nu worden zowel id10 als id9 doorverwezen naar http://www.janmarques.net, terwijl 10 een error zou moeten geven :mrgreen:
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Salomon » 28 mei 2007, 15:27

Dan heeft 10 pech toch :D

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 15:59

Nee, jij hebt pech, want nu moet je verder naar de fout zoeken :lol:
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Salomon » 28 mei 2007, 16:08

Zet na $sites = array(......); eens:

Code: Selecteer alles

if ($input == count($sites) {
    die("Oops!");
} 

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 16:09

Werkt niet, want bij 11, 12 gaf ie wel al error :?
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Salomon
Berichten: 3878
Lid geworden op: 14 feb 2006, 16:15

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Salomon » 28 mei 2007, 16:11

:evil:

Code: Selecteer alles

if ($input == count($sites) - 1 {
    die("Oops!");
}  

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20306
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Paul » 28 mei 2007, 17:44

Verander:

Code: Selecteer alles

$random = $sites[array_rand(array_diff($sites, array($sites[$input], $sites["0"])))];
In

Code: Selecteer alles

$random = $sites[rand(0, sizeof($sites) - 1)];
En

Code: Selecteer alles

// Previous link
if ($input == "1")
{
$previous = array_pop($sites);
}
else
{
$number = $input - 1;
$previous = $sites[$number];
}

// Next link
if ($input == count($sites))
{
$next = $sites["1"];
}
else
{
$number = $input + 1;
$next = $sites[$number];
}
in

Code: Selecteer alles

// Previous link
$prev = $input - 1;
$next = $input + 1;
if (!isset($sites[$prev]))
{
$prev = 1;
}
$previous = $sites[$prev];

if (!isset($sites[$next]))
{
$next = sizeof($sites) - 1;
}
$next = $sites[$next];
}

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: Scriptingvragen (PHP, JavaScript etc.)

Bericht door Jan » 28 mei 2007, 19:33

Bedankt!
Alleen: die $random, nu neemt ie toch ook de site zelf mee, niet?
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Plaats reactie