na submit pagina niet goed.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Pagina: « vorige 1 2

Frits van Leeuwen

Frits van Leeuwen

26/07/2017 23:36:23
Quote Anchor link
Ik koos quote i.p.v. wijzig. Nu toch gelukt. ;-)
De vraag over wijzigen is niet een bewuste variabele, want ik heb het nu zo aangepast dat ik ze niet meer heb. Maar ik kan me voorstellen dat ik het later wel wil. Hoe kan dat dan.

Ik dacht even dat ik er was, maar ik krijg
Quote:
HTTP 500-fout

index.php ziet er nu zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
    <head>
        <title>Basisbestand Geldboom</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">    
    </head>
    
    <body>
        <table class="empty">
            <tr>
                <td width="200" class="vak1">
                    <img src="images/logo.jpg" width="200"><BR>alpha.5
                </td>
                <td class="programmadeel">
                     <?php
                        header('Location: createdb.php');
                        exit;
                    ?>

                </td>
            </tr>
        </table>
    </body>
</html>


createdb.php ziet er zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>
    <head>
        <title>Create DB Geldboom</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">    
    </head>
    
    <body>
        <h2>Eerste voorbereiding</h2>
        <p>Vul daarom op deze pagina de gevraagde gegevens in.</p>
        <form action="createdb.php" method="post">
            <table>
                <tr class="form1"><td>
                <div class="pf">Database-naam</div></td><td><input type="text" id="Inp_Database" name="Inp_Database" tabindex="1">
                
                <tr class="form1"><td>
                <div class="pf">Gebruiker  </div></td><td><input type="text" id="Inp_User" name="Inp_User" tabindex="2">
                
                <tr class="form1"><td>
                <div class="pf">Wachtwoord </div></td><td><input type="password" id="Inp_Password" name="Inp_Password" tabindex="3">
                
                <tr class="form1"><td>
                <div class="pf">Host-adres </div></td><td><input type="text" id="Inp_Host" name="Inp_Host" tabindex="4">
                
                <tr><td>
                <input type="reset" value="Velden legen" id="knop_reset" name="knop_reset" alt="Alle velden legen" tabindex="5">
                </td><td>
                <input type="submit" value="Installeren" id="knop_install" name="knop_install" alt="Installatie starten" tabindex="6">
                <?php
                    if($_POST['knop_install'])
                    {

                        $db = $_POST['Inp_Database'];
                        $username = $_POST['Inp_User'];
                        $password = $_POST['Inp_Password'];
                        $hostname = $_POST['Inp_Host'];
                        $global_dbh = "mysql_connect(" . $hostname . ", " . $username . ", " . $password . ")";     
                        echo "<p>mysql_select_db($db, $global_dbh);</p>";
                    }

                ?>

            </table>
        </form>
    </body>
</html>




- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 27/07/2017 00:37:34 door - Ariën -
 
PHP hulp

PHP hulp

08/11/2024 13:05:32
 
- Ariën  -
Beheerder

- Ariën -

27/07/2017 00:40:57
Quote Anchor link
Kijk eens in je error_log, zou ik zeggen. Die verklapt vaak waarom er een error 500 optreedt.
Mijn grote vermoeden gaat ervan uit dat je HTML voor je header() uitvoert, en dat mag juist niet.
Die header() je vóór je HTML en e.v.t. zichtbare witruimte uitvoeren.

Verder zie ik in je code een string met mysql_connect, en ik wou je toch graag even attenderen dat deze functies in PHP 7 ter ziele zijn gegaan. De betere vervanger zijn de functies uit de mysqli-driver (mysqli_*) of PDO.
Gewijzigd op 27/07/2017 00:42:22 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

27/07/2017 10:41:10
Quote Anchor link
... maar als index.php niets anders doet dan forwarden naar createdb.php, waarom stop je dan de inhoud van createdb.php niet in index.php? :/

Ook is nog steeds niet duidelijk welk mysterieus bestand al dan niet aanwezig moet zijn, of wat hier precies de betekenis van is. Of dat dit uberhaupt een goed idee is.

En tot slot, iets wat al eerder is aangehaald, wordt het nu misschien tijd om eens na te gaan denken over hoe je je pagina's indeelt en opdeelt. In bovenstaand fragment stop je midden in het weergeven van een pagina het verwerken van een formulier.

Zoals al eerder aangegeven, deel dit eens op in stappen. Een verwerkstap van een formulier zou eigenlijk, voor de goede orde, nooit direct output moeten produceren. Het is een verwerkstap. Direct na uitvoer van de stap zou je doorverwezen moeten worden naar een andere pagina. Ofwel een "OK" pagina, ofwel een "not OK" pagina, wat meestal neerkomt op het opnieuw tonen van het formulier met de reeds ingevulde informatie + indicaties hoe deze te verbeteren.

PS ben je hier niet opnieuw het wiel aan het uitvinden? Ik ben er persoonlijk geen fan van, maar ken je tools zoals phpMyAdmin? Die doen de klus van webbased databasebeheer waarschijnlijk beter/uitgebreider dan iets wat je zelf rolt.
Gewijzigd op 27/07/2017 10:42:33 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

27/07/2017 11:20:39
Quote Anchor link
Volgens mij is het een controle bij het openen van een webapplicatie om te kijken of deze geïnstalleerd is. Ik vermoed dat er met een speciaal bestand wordt gekeken of de installatie moet worden uitgevoerd. Bijvoorbeeld een config
inc.php.

De queries uitvoeren wil je niet door gebruikers in phpMyAdmin laten doen. ;-)

Ikzelf heb ooit eens een installatiescript gebouwd die *.sql-files uitlas en uitvoerde. Dat scheelt weer een hoop queries in je createdb.php. Onthoud wel dat niet iedereen zomaar rechten heeft om een database aan te maken via SQL. Vaak gaat dat via controlpanels met hogere rechten.
Gewijzigd op 27/07/2017 11:24:59 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

27/07/2017 12:37:10
Quote Anchor link
Mja, maar waarom zou je permanent in een applicatie willen controleren of iets geïnitialiseerd is? Zou deze initialisatie niet gewoon eenmalig gedaan moeten worden bij installatie van deze functionaliteit? Waarna je kunt vergeten dat je dit hebt gedaan?

Dit is zoiets als continu controleren of je je veters gestrikt hebt, maar dat zou een vast onderdeel moeten zijn van het aantrekken van je schoenen.

(bespaar me grappen dat veters los kunnen gaan en er ook schoenen met klitteband bestaan enzo lol)

Toegegeven, misschien kan zoiets handig zijn, maar dan toch alleen in een geavanceerd systeem, bijvoorbeeld voor modulebeheer waarbij je code- en database-wijzigingen versioned ofzo. Maar het lijkt mij dat als je zo'n permanente controle achterwege kunt laten als je dit gewoon onderdeel maakt van een vaste installatieroutine dat dat de voorkeur heeft boven deze constructie.
 
Frits van Leeuwen

Frits van Leeuwen

27/07/2017 21:43:01
Quote Anchor link
Ik start (wat ik dacht dat normaal is) met index.php
Ik wil dan weten of dat er een database is geïnstalleerd of niet. Als dit niet zo is, wil ik dat eenmalig uitvoeren. Maar ik maak het niet alleen voor me zelf, maar ook voor een nog onbekend aantal andere mensen. Dus die moeten dat ook eenmalig kunnen doen.
Maar is de database eenmaal geïnstalleerd, dan wil ik pas echt van start met het programma waar het mij om gaat. Ook die moet ik dan natuurlijk vanuit index.php aansturen.

Het geen wat hier boven beschreven staat is het geen ik eerst aan de praat wil hebben, Maar tegelijk hoop ik er ook een hoop van te leren. Maar bestanden nesten of juist niet, tsja dat blijven keuzes. Maar ik denk dat mijn eerste opzet niet goed was. Nu ben ik beter op weg, maar omdat ik de code die ik voorgedragen kreeg niet helemaal begrijp, heb ik die over de eerder bedachte code heen gezet in de verwachting dat dat zou werken.

Waar kan ik de error_log vinden Ariën?

Met een voortschrijdend inzicht, bedenk ik nu dat het handiger is om gewoon voor de installatie te staten met een bestand install.php

Dan wil ik natuurlijk wel kijken of dat er een database actief is.
Gewijzigd op 27/07/2017 22:53:27 door Frits van Leeuwen
 
Ben van Velzen

Ben van Velzen

27/07/2017 22:39:45
Quote Anchor link
>> Ik wil dan weten of dat er een database is geïnstalleerd of niet. Als dit niet zo is, wil ik dat eenmalig uitvoeren.
Klinkt wel leuk, maar dat is niet praktisch. Want het feit dat de configuratie bestaat zegt niets over de database. En om een hoop overhead te gaan veroorzaken voor iets dat voor zichzelf zou moeten spreken (het aanwezig zijn van de database) is een stap te ver.
 
Frits van Leeuwen

Frits van Leeuwen

27/07/2017 22:59:09
Quote Anchor link
Ben, als ik mijn programma ergens wil plaatsen of laten plaatsen, is er geen database aanwezig. Er zal eerst iets gestart moeten worden om die database daar te krijgen. Vandaar dat ik dat eerst wil checken.
Ik wil nu dat er eerst met install.php gestart wordt. Als iemand toch index.php start is er geen database en werkt het niet. Dan wil ik aangeven dat install.php gestart moet worden, of dat er naartoe gesprongen kan worden. Deze combinatie zou helemaal mooi zijn.
 
Thomas van den Heuvel

Thomas van den Heuvel

27/07/2017 23:36:19
Quote Anchor link
Dat lijkt mij onderdeel van een installatie. Voor mensen die wat minder tech savvy zijn is dat allemaal technische mumbo jumbo waar ze niets mee kunnen, te meer als er iets misgaat.
 
Ben van Velzen

Ben van Velzen

28/07/2017 00:35:00
Quote Anchor link
>> Als iemand toch index.php start is er geen database en werkt het niet. Dan wil ik aangeven dat install.php gestart moet worden
1 woord: handleiding.

Het laatste dat je wil is dat je met een race condition komt te zitten als "oh installatie is nog niet voltooid" en een willekeurige bezoeker komt op je pagina. Geef hooguit foutmeldingen, maar start geen configuratieproces zonder dat iemand precies weet hoe en wat.
Gewijzigd op 28/07/2017 00:36:20 door Ben van Velzen
 
- Ariën  -
Beheerder

- Ariën -

28/07/2017 07:22:15
Quote Anchor link
Dit is toch hetzelfde als met phpBB, Wordpress, Joomla en de andere sources?

Zorg eigenlijk gewoon dat je in de eerste installatiestap je databaseconnectie controleert aan de hand van de invoer ervan. En houd goed bij welke stap er is uitgevoerd.
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.