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
ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Scriptingvragen (PHP, JavaScript etc.)

Bericht door ElbertF » 16 mar 2007, 10:24

Scriptingvragen

Bondige scriptingvragen mogen hier (zo duidelijk mogelijk) gesteld worden. Voor uitgebreide vragen kun je echte beter terecht bij een gespecialiseerde supportsite. Als je reageert op een bericht, doe dit dan via de quote knop zodat het duidelijk is op wie je antwoord.

Bijvoorbeeld:

Weet iemand een functie in PHP om arrays van achter naar voren uit te lezen?
Laatst gewijzigd door Derky op 28 mei 2008, 15:22, 1 keer totaal gewijzigd.
Reden: Link bijgewerkt

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

Bericht door svenn » 18 mar 2007, 16:00

strikt geheim :bier:
Laatst gewijzigd door svenn op 20 mar 2007, 20:52, 1 keer totaal gewijzigd.

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

Bericht door Paul » 18 mar 2007, 16:04


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

Bericht door Paul » 18 mar 2007, 16:05

En aanverwanten (Kan een teamlid de permissies instellen (Wel moeilijk hoor ;)) dat users hun post tenminste kunnen editeten :roll: )

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

Bericht door ElbertF » 18 mar 2007, 16:07

preg_match() in combinatie met preg_quote(), anders gaan er dingen fout..

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

Bericht door Paul » 18 mar 2007, 16:09

Spambot schreef:preg_match() in combinatie met preg_quote(), anders gaan er dingen fout..
Dat hoeft niet persee je kan ook direct iets escapen:

Code: Selecteer alles

var_dump(preg_match('#\##si', $string));
:)

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

Bericht door svenn » 18 mar 2007, 17:12

bedankt paul & spambot preg_match werkt.

Code: Selecteer alles

$inhoud = preg_match("/<!-- start\|naam=(.*?)\|-->/i", $line, $leeg);
beetje klungelig maargoed.

Gebruikersavatar
Xanland
Berichten: 828
Lid geworden op: 23 jan 2005, 17:02
Locatie: Apeldoorn, The Netherlands
Contacteer:

Bericht door Xanland » 20 mar 2007, 20:25

Heb hier een login.php, heb gezien dat er een dubbele else in zat. En dat kan volgens mij niet.
Krijg ook de error: Warning: Cannot modify header information - headers already sent by (output started at F:\webserver\apache\htdocs\nieuw\profiel\functions.php:7) in F:\webserver\apache\htdocs\nieuw\profiel\login.php on line 31
Script schreef:

Code: Selecteer alles

<?php
session_start();
include ("connect.php");
include ("functions.php");

HtmlStart();

Menu();
//
if(isset($_POST['submit']))
{

// Query om te controleren of de juiste gegevens die ingevoerd zijn of ze ook daadwerkelijk in de DB staan //
    $sql = "SELECT * FROM `gebruikers` WHERE `username` = '".addslashes($_POST['username'])."'
         AND `password` = '".md5($_POST['password'])."'";
           
        $info = mysql_query($sql) or die(mysql_errno() . ": " . mysql_error());
       
        //Als de gegevens kloppen wordt alles in SESSIONS gezet en wordt je door gepaast naar index.php //
        //A;s de gegevens niet klopen wordt je gelijk opnieuw naar de login terug gepaast //
        if (mysql_fetch_assoc($info) > 1)
        {
        
        $username = $_POST["username"];
        $password = md5($_POST["password"]);
        
        $_SESSION["username"] = $username;
        $_SESSION['password'] = $password;
        $_SESSION['logged'] = 'true';
            
31:            header ("location: index.php");   
           
        }
          else
        {
       
            header ("location: login.php");
           
        }
       

      }
      else
      {
       //Wanneer je niet ingelogd bent geeft hij een leeg formulier aan //
            echo "<form method='post' action='login.php'>
                  <table>
                  <tr>
                  <td><input type='hidden' name='submit' value='1'></td>
                  </tr>
                  <tr>
                  <td>Username:</td>
                  <td><input type='text' name='username'></td>
                  </tr>
                  <tr>
                  <td>Password:</td>
                  <td><input type='password' name='password'></td>
                  </tr>
                  <tr>
                  <td><input type='submit' name='submit' value='Login'></td>
                  </tr>
                  </table>
                  </form>";
                  
         }
 
HtmlEnd();        
?>
Mvg, Xanland.
phpBBmods
---
Muziekforum
---

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

Bericht door Salomon » 20 mar 2007, 20:30

Wat staat er op lijn 7 van profiel\functions.php?

Gebruikersavatar
Xanland
Berichten: 828
Lid geworden op: 23 jan 2005, 17:02
Locatie: Apeldoorn, The Netherlands
Contacteer:

Bericht door Xanland » 20 mar 2007, 20:36

functions.php schreef:

Code: Selecteer alles

function HtmlStart()
{

7:    echo "<html>";
    echo "<head>";
    echo "<title>KSG-Profielen</title>";
    echo "</head>";
    echo "<body>";
   
   
}
Mvg, Xanland.
phpBBmods
---
Muziekforum
---

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

Bericht door Salomon » 20 mar 2007, 20:42

Jep, daar is de output gestart, en dan zijn de headers already send :bier:
Je mag namelijk niks verzenden voordat de headers verzonden worden.

Gebruikersavatar
Xanland
Berichten: 828
Lid geworden op: 23 jan 2005, 17:02
Locatie: Apeldoorn, The Netherlands
Contacteer:

Bericht door Xanland » 20 mar 2007, 22:09

En, hoe ga ik dat oplossen?
Mvg, Xanland.
phpBBmods
---
Muziekforum
---

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

Bericht door Salomon » 21 mar 2007, 07:49

ik zal het zeggen: Je hebt eerst htmlStart() uitgevoerd, en daarna wil je nog een header verzenden?
Ofwel: Je mag geen header verzenden nadat er ook maar één teken is verzonden.
Overigens: Dit is een warning, error_reporting uitzetten en je bent klaar.
En van die dubbele else: Volgens mij heb je in de if ook nog een andere if zitten, en dan moet je dus ook twee keer else doen?
De eerste is: if(isset($_POST['submit']))
En de tweede: if (mysql_fetch_assoc($info) > 1)
Kortom: Eigenlijk valt het wel mee.

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

Bericht door Bas » 21 mar 2007, 09:21

Je kan ook ob_start(); aan het begin van het script zetten. Je kan dan geen flush() meer gebruiken, maar dat lost wel simpeler die fouten op. :)

Gebruikersavatar
Xanland
Berichten: 828
Lid geworden op: 23 jan 2005, 17:02
Locatie: Apeldoorn, The Netherlands
Contacteer:

Bericht door Xanland » 21 mar 2007, 16:24

Heb het op de manier van bas gedaan, en het werkte perfect :). Maar Salomon ook bedankt ;).
Mvg, Xanland.
phpBBmods
---
Muziekforum
---

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

Bericht door svenn » 21 mar 2007, 17:00

fouten moet je niet wegmoffelen maar oplossen :bier:

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

Bericht door Bas » 21 mar 2007, 20:19

Ik heb een probleem met regular expressions. :)

Voorbeeldcode:

Code: Selecteer alles

	$content = file_get_contents($site);
	preg_match_all("@<a[ ]{0,}href=[\"']{0,}([^\"]{0,})[\"']{0,}(.*?)>([^<]{0,})</a>@i", $content, $regs);

	foreach ($regs[1] as $url) {
		echo $url . "\r\n";
	}

Nu heb ik als probleem, dat ik in mijn HTML-pagina meerdere soorten a-tags heb. De ene hebben alles met "", de andere alles met ''. Nu heb ik als probleem met de tags met '', dat ze zo in $url komen:
De regex vervangen door:

Code: Selecteer alles

	preg_match_all("@<a[ ]{0,}href=[\"']{0,}([^\"']{0,})[\"']{0,}(.*?)>([^<]{0,})</a>@i", $content, $regs);
helpt ook niet. :(

Weet iemand het? :)

-- Bas

Edit: Oké, opgelost... :| Het werkt dus wel met

Code: Selecteer alles

	preg_match_all("@<a[ ]{0,}href=[\"']{0,}([^'\"]{0,})[\"']{0,}(.*?)>([^<]{0,})</a>@i", $content, $regs);

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

Bericht door svenn » 21 mar 2007, 20:40

waarom gebruik je @ ? ik gebruik altijd / naja altijd :p er moest een een deftig artikel worden geschreven overs reg. expr. ik heb er ook steeds problemen mee :(

Gebruikersavatar
Montana
Berichten: 222
Lid geworden op: 19 jul 2004, 17:09
Locatie: Hellevoetsluis
Contacteer:

Bericht door Montana » 21 mar 2007, 21:09

avond :)

ik ben nog niet zo heel erg bekend met php dus weet ik niet zo snel waar ik naar moet zoeken helaas
wat ik wil is dus het volgende..ik heb een rss readertje op me site staan en in die berichte staan wel eens van die speciale karakters zoals bv in deze zin..

Het Joods Museum in München opent donderdag zijn deuren.
wat ik dus wil is dat ü gewoon de karakter word zoals het bedoeld is geloof dat het een ú is of zo
iemand een idee waar naar ik moet gaan zoeken ?

tnx :bier:
Gaat het niet zoals het moet,
dan moet het maar zoals het gaat.
Montanas corner
Chat-united

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

Bericht door Jan » 21 mar 2007, 21:12

Ligt hoogstwaarschijnlijk aan instellingen van de server.

Weet niet precies hoe en wat, maar vrees dat je 't niet zo makkelijk opgelost kan krijgen!
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

Plaats reactie