eigen server/error's
webstab - 01/10/2004 19:21
PHP ver gevorderde
Ik heb een site op internet(gratis host) gemaakt, maar nu ben ik em aan het overplaatsen naar mijn eigen server(localhost) omdat dat handiger werken is. Maar hij moet alles gedefineerd krijgen, ik krijg altijd van die errors van
-undefined index...
-undefined variable...
-enz.
Hoe kan ik deze errors afzetten?
in welke file(s). Ik gebruik easyphp.
(:rechts: ik heb eerst lang gezocht,maar vond het niet, sorry als ik er heb overgekeken)
10 antwoorden
Gesponsorde links
Tuinstoel - 01/10/2004 19:40
PHP expert
overal een @ voorzetten, maar dan leer je geen php...
DRUNK - 01/10/2004 20:01
PHP gevorderde
<?php error_reporting(0); ?> maar dit is ook lelijk eigenlijk, je moet gewoon iets netter scripten.
webstab - 01/10/2004 20:02
PHP ver gevorderde
dat weet ik,maar het schijnt dat je dat kan afzetten in je instellingen via een of andere file die zich niet bevindt in /www
webstab - 02/10/2004 09:25 (laatste wijziging 02/10/2004 09:27)
PHP ver gevorderde
ik krijg altijd van die undefined errors.
ik zal ze eventjes laten zien:
---------------------------------------------
undefined index: woonplaats (on line 37)
undefined variable: datum (on line 37)
undefined index: website (on line 37)
undefined variable: headers (on line 47)
---------------------------------------------
en dit is mijn file:
---|registreer.php|---
<?
include('config.php');
if (@$_GET['activeer']) {
$arraymaand = array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
$datum = date("j ") . $arraymaand[date("n") - 1] . date(" Y");
mysql_query("UPDATE leden SET activatie= '$datum' WHERE wachtwoord = '$_GET[activeer]' AND naam= '$_GET[user]'") or die(mysql_error());
echo ("Proficiat,je account is geactiveerd!");
}
else {
$gelukt = 0;
if (isset($_POST['submit'])) {
if (empty($_POST['naam'])) {
echo "Je moet een gebruikersnaam invullen";
} elseif (empty($_POST['emailadres'])) {
echo "Je moet een emailadres invullen";
} elseif (empty($_POST['wachtwoord'])) {
echo "Je moet een wachtwoord invullen";
} else {
@$_POST['datum'] = $datum;
if(empty($_POST['jaar']) || empty($_POST['maand']) || empty($_POST['dag'])) {
$datum = ""; }
if (strcmp($_POST['wachtwoord'], $_POST['wachtwoord2'])) {
echo "De wachtwoorden komen niet overeen!";
} else {
$check = mysql_query("SELECT naam FROM leden WHERE naam='" . $_POST['naam'] . "'") or die(mysql_error());
if(mysql_num_rows($check) == 0) {
$wacht = md5($_POST['wachtwoord']);
mysql_query("INSERT INTO leden (id,naam,wachtwoord,emailadres,vnaam,anaam,geslacht,woonplaats,geboortedatum,msn,website,status,activatie) VALUES ('','" . $_POST['naam'] . "','" . $wacht . "', '" . $_POST['emailadres'] . "', '" . $_POST['vnaam'] . "', '" . $_POST['anaam'] . "', '" . $_POST['geslacht'] . "', '" . $_POST['woonplaats'] . "', '" . $datum . "', '" . $_POST['msn'] . "', '" . $_POST['website'] . "', 'lid', '0')") or die(mysql_error());
$naarwie= $_POST['emailadres'] ;
$titel="Activacite van je account";
$bericht="
Klik op de onderstaande link om uw account te activeren
<a href=?pag=leden&actie=registreer&activeer=".$wacht."&user=" . $_POST['naam'] . ">http://driesv.freeserverhost.net/?pag=leden&actie=registreer&activeer=".$wacht."&user=" . $_POST['naam'] . "</a>
Vriendelijke groeten, Dries
";
mail($naarwie, $titel, $bericht, $headers);
$gelukt = 1;
} else {
echo "De gebruikersnaam bestaat al!";
}
}
}
}
if ($gelukt == 1) {
echo "Je account is toegevoegd! Je krijgt nu een email om je account te activeren";
echo "<br><br>Onze site staat momenteel nog op een gratis server,daarom moet u nog op de onderstaande link drukken<br>";
echo "<input type=button value=\"Activeer mijn account!\" onClick=\"window.location='?pag=leden&actie=registreer&activeer=".$wacht."&user=". $_POST['naam'] ."'\">";
} else {
?>
<form action="" method="post">
<table class=mtabel>
<tr><td colspan=2><b><font color=#FFF3C5>Verplichte gegevens</font></b></td></tr>
<tr><td>Loginnaam</td><td><input type="text" size="30" name="naam" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['naam']; } ?>"></td></tr>
<tr><td>Wachtwoord</td><td><input type="password" size="30" name="wachtwoord" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['wachtwoord']; } ?>"></td></tr>
<tr><td>Wachtwoord (opnieuw)</td><td><input type="password" size="30" name="wachtwoord2" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['wachtwoord2']; } ?>"></td></tr>
<tr><td>E-mailadres</td><td><input type="text" size="30" name="emailadres" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['emailadres']; } ?>"></td></tr>
<tr><td colspan=2><font color=#FFF3C5><b>Persoonlijke gegevens</b> (vrijblijvend)</font></td></tr>
<tr><td>Voornaam</td><td><input type="text" size="30" name="vnaam" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['vnaam']; } ?>"></td></tr>
<tr><td>Achternaam</td><td><input type="text" size="30" name="anaam" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['anaam']; } ?>"></td></tr>
<tr><td>Geslacht</td><td><INPUT TYPE="radio" NAME="geslacht" VALUE="Man">Man<INPUT TYPE="radio" NAME="geslacht" VALUE="Vrouw">Vrouw</td></tr>
<tr><td>Woonplaats</td><td><input type="text" size="30" name="vnaam" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['woonplaats']; } ?>"></td></tr>
<tr><td>Geboortedatum</td><td>
<select name="dag" onChange="update_tekst();">
<option value="">- -</option>
<option value=01>01</option>
<option value=02>02</option>
<option value=03>03</option>
<option value=04>04</option>
<option value=05>05</option>
<option value=06>06</option>
<option value=07>07</option>
<option value=08>08</option>
<option value=09>09</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<option value=21>21</option>
<option value=22>22</option>
<option value=23>23</option>
<option value=24>24</option>
<option value=25>25</option>
<option value=26>26</option>
<option value=27>27</option>
<option value=28>28</option>
<option value=29>29</option>
<option value=30>30</option>
<option value=31>31</option>
</select>
<select name="maand" onChange="update_tekst();">
<option value="">- - - - - - - - - -</option>
<option value=01>januari</option>
<option value=02>februari</option>
<option value=03>maart</option>
<option value=04>april</option>
<option value=05>mei</option>
<option value=06>juni</option>
<option value=07>juli</option>
<option value=08>augustus</option>
<option value=09>september</option>
<option value=10>oktober</option>
<option value=11>november</option>
<option value=12>december</option>
</select>
<select name="jaar" onChange="update_tekst();">
<option value="">- - - -</option>
<option value=1950>1950</option>
<option value=1951>1951</option>
<option value=1952>1952</option>
<option value=1953>1953</option>
<option value=1954>1954</option>
<option value=1955>1955</option>
<option value=1956>1956</option>
<option value=1957>1957</option>
<option value=1958>1958</option>
<option value=1959>1959</option>
<option value=1960>1960</option>
<option value=1961>1961</option>
<option value=1962>1962</option>
<option value=1963>1963</option>
<option value=1964>1964</option>
<option value=1965>1965</option>
<option value=1966>1966</option>
<option value=1967>1967</option>
<option value=1968>1968</option>
<option value=1969>1969</option>
<option value=1970>1970</option>
<option value=1971>1971</option>
<option value=1972>1972</option>
<option value=1973>1973</option>
<option value=1974>1974</option>
<option value=1975>1975</option>
<option value=1976>1976</option>
<option value=1977>1977</option>
<option value=1978>1978</option>
<option value=1979>1979</option>
<option value=1980>1980</option>
<option value=1981>1981</option>
<option value=1982>1982</option>
<option value=1983>1983</option>
<option value=1984>1984</option>
<option value=1985>1985</option>
<option value=1986>1986</option>
<option value=1987>1987</option>
<option value=1988>1988</option>
<option value=1989>1989</option>
<option value=1990>1990</option>
<option value=1991>1991</option>
<option value=1992>1992</option>
<option value=1993>1993</option>
<option value=1994>1994</option>
<option value=1995>1995</option>
<option value=1996>1996</option>
<option value=1997>1997</option>
<option value=1998>1998</option>
<option value=1999>1999</option>
<option value=2000>2000</option>
<option value=2001>2001</option>
<option value=2002>2002</option>
</select>
<input type=hidden id="datum" value="">
</td></tr>
<tr><td>Msn</td><td><input type="text" size="30" name="msn" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['msn']; } ?>"></td></tr>
<tr><td>Website</td><td><input type="text" size="30" name="msn" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['msn']; } ?>"></td></tr>
<tr><td></td><td></td></tr>
<tr><td></td><td>
<input type="submit" name="submit" value="Registreer!">
<input type="reset" name="reset" value="Wis alle velden">
</td></tr></table>
</form>
Let op: uw loginnaam en emailadres kunnen later niet meer gewijzigd worden!!!<br>
<? }
}?>
<?
include ( 'config.php' ) ;
if ( @ $_GET [ 'activeer' ] ) {
$arraymaand = array ( "Januari" , "Februari" , "Maart" , "April" , "Mei" , "Juni" , "Juli" , "Augustus" , "September" , "Oktober" , "November" , "December" ) ; $datum = date ( "j " ) . $arraymaand [ date ( "n" ) - 1 ] . date ( " Y" ) ; mysql_query ( "UPDATE leden SET activatie= '$datum ' WHERE wachtwoord = '$_GET[activeer] ' AND naam= '$_GET[user] '" ) or
die ( mysql_error ( ) ) ;
echo ( "Proficiat,je account is geactiveerd!" ) ; }
else {
$gelukt = 0 ;
if ( isset ( $_POST [ 'submit' ] ) ) {
if ( empty ( $_POST [ 'naam' ] ) ) { echo "Je moet een gebruikersnaam invullen" ; } elseif ( empty ( $_POST [ 'emailadres' ] ) ) { echo "Je moet een emailadres invullen" ; } elseif ( empty ( $_POST [ 'wachtwoord' ] ) ) { echo "Je moet een wachtwoord invullen" ; } else {
@ $_POST [ 'datum' ] = $datum ;
if ( empty ( $_POST [ 'jaar' ] ) || empty ( $_POST [ 'maand' ] ) || empty ( $_POST [ 'dag' ] ) ) { $datum = "" ; }
if ( strcmp ( $_POST [ 'wachtwoord' ] , $_POST [ 'wachtwoord2' ] ) ) { echo "De wachtwoorden komen niet overeen!" ; } else {
$wacht = md5 ( $_POST [ 'wachtwoord' ] ) ;
mysql_query ( "INSERT INTO leden (id,naam,wachtwoord,emailadres,vnaam,anaam,geslacht,woonplaats,geboortedatum,msn,website,status,activatie) VALUES ('','" . $_POST [ 'naam' ] . "','" . $wacht . "', '" . $_POST [ 'emailadres' ] . "', '" . $_POST [ 'vnaam' ] . "', '" . $_POST [ 'anaam' ] . "', '" . $_POST [ 'geslacht' ] . "', '" . $_POST [ 'woonplaats' ] . "', '" . $datum . "', '" . $_POST [ 'msn' ] . "', '" . $_POST [ 'website' ] . "', 'lid', '0')" ) or
die ( mysql_error ( ) ) ;
$naarwie = $_POST [ 'emailadres' ] ;
$titel = "Activacite van je account" ;
$bericht = "
Klik op de onderstaande link om uw account te activeren
<a href=?pag=leden&actie=registreer&activeer=" . $wacht . "&user=" . $_POST [ 'naam' ] . ">http://driesv.freeserverhost.net/?pag=leden&actie=registreer&activeer=" . $wacht . "&user=" . $_POST [ 'naam' ] . "</a>
Vriendelijke groeten, Dries
" ;
mail ( $naarwie , $titel , $bericht , $headers ) ;
$gelukt = 1 ;
} else {
echo "De gebruikersnaam bestaat al!" ; }
}
}
}
if ( $gelukt == 1 ) {
echo "Je account is toegevoegd! Je krijgt nu een email om je account te activeren" ; echo "<br><br>Onze site staat momenteel nog op een gratis server,daarom moet u nog op de onderstaande link drukken<br>" ; echo "<input type=button value=\" Activeer mijn account!\" onClick=\" window.location='?pag=leden&actie=registreer&activeer=" . $wacht . "&user=" . $_POST [ 'naam' ] . "'\" >" ; } else {
?>
<form action="" method="post">
<table class=mtabel>
<tr><td colspan=2><b><font color=#FFF3C5>Verplichte gegevens</font></b></td></tr>
<tr><td>Loginnaam</td><td><input type="text" size="30" name="naam" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'naam' ] ; } ?> "></td></tr>
<tr><td>Wachtwoord</td><td><input type="password" size="30" name="wachtwoord" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'wachtwoord' ] ; } ?> "></td></tr>
<tr><td>Wachtwoord (opnieuw)</td><td><input type="password" size="30" name="wachtwoord2" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'wachtwoord2' ] ; } ?> "></td></tr>
<tr><td>E-mailadres</td><td><input type="text" size="30" name="emailadres" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'emailadres' ] ; } ?> "></td></tr>
<tr><td colspan=2><font color=#FFF3C5><b>Persoonlijke gegevens</b> (vrijblijvend)</font></td></tr>
<tr><td>Voornaam</td><td><input type="text" size="30" name="vnaam" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'vnaam' ] ; } ?> "></td></tr>
<tr><td>Achternaam</td><td><input type="text" size="30" name="anaam" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'anaam' ] ; } ?> "></td></tr>
<tr><td>Geslacht</td><td><INPUT TYPE="radio" NAME="geslacht" VALUE="Man">Man<INPUT TYPE="radio" NAME="geslacht" VALUE="Vrouw">Vrouw</td></tr>
<tr><td>Woonplaats</td><td><input type="text" size="30" name="vnaam" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'woonplaats' ] ; } ?> "></td></tr>
<tr><td>Geboortedatum</td><td>
<select name="dag" onChange="update_tekst();">
<option value="">- -</option>
<option value=01>01</option>
<option value=02>02</option>
<option value=03>03</option>
<option value=04>04</option>
<option value=05>05</option>
<option value=06>06</option>
<option value=07>07</option>
<option value=08>08</option>
<option value=09>09</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<option value=21>21</option>
<option value=22>22</option>
<option value=23>23</option>
<option value=24>24</option>
<option value=25>25</option>
<option value=26>26</option>
<option value=27>27</option>
<option value=28>28</option>
<option value=29>29</option>
<option value=30>30</option>
<option value=31>31</option>
</select>
<select name="maand" onChange="update_tekst();">
<option value="">- - - - - - - - - -</option>
<option value=01>januari</option>
<option value=02>februari</option>
<option value=03>maart</option>
<option value=04>april</option>
<option value=05>mei</option>
<option value=06>juni</option>
<option value=07>juli</option>
<option value=08>augustus</option>
<option value=09>september</option>
<option value=10>oktober</option>
<option value=11>november</option>
<option value=12>december</option>
</select>
<select name="jaar" onChange="update_tekst();">
<option value="">- - - -</option>
<option value=1950>1950</option>
<option value=1951>1951</option>
<option value=1952>1952</option>
<option value=1953>1953</option>
<option value=1954>1954</option>
<option value=1955>1955</option>
<option value=1956>1956</option>
<option value=1957>1957</option>
<option value=1958>1958</option>
<option value=1959>1959</option>
<option value=1960>1960</option>
<option value=1961>1961</option>
<option value=1962>1962</option>
<option value=1963>1963</option>
<option value=1964>1964</option>
<option value=1965>1965</option>
<option value=1966>1966</option>
<option value=1967>1967</option>
<option value=1968>1968</option>
<option value=1969>1969</option>
<option value=1970>1970</option>
<option value=1971>1971</option>
<option value=1972>1972</option>
<option value=1973>1973</option>
<option value=1974>1974</option>
<option value=1975>1975</option>
<option value=1976>1976</option>
<option value=1977>1977</option>
<option value=1978>1978</option>
<option value=1979>1979</option>
<option value=1980>1980</option>
<option value=1981>1981</option>
<option value=1982>1982</option>
<option value=1983>1983</option>
<option value=1984>1984</option>
<option value=1985>1985</option>
<option value=1986>1986</option>
<option value=1987>1987</option>
<option value=1988>1988</option>
<option value=1989>1989</option>
<option value=1990>1990</option>
<option value=1991>1991</option>
<option value=1992>1992</option>
<option value=1993>1993</option>
<option value=1994>1994</option>
<option value=1995>1995</option>
<option value=1996>1996</option>
<option value=1997>1997</option>
<option value=1998>1998</option>
<option value=1999>1999</option>
<option value=2000>2000</option>
<option value=2001>2001</option>
<option value=2002>2002</option>
</select>
<input type=hidden id="datum" value="">
</td></tr>
<tr><td>Msn</td><td><input type="text" size="30" name="msn" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'msn' ] ; } ?> "></td></tr>
<tr><td>Website</td><td><input type="text" size="30" name="msn" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'msn' ] ; } ?> "></td></tr>
<tr><td></td><td></td></tr>
<tr><td></td><td>
<input type="submit" name="submit" value="Registreer!">
<input type="reset" name="reset" value="Wis alle velden">
</td></tr></table>
</form>
Let op: uw loginnaam en emailadres kunnen later niet meer gewijzigd worden!!!<br>
<? }
} ?>
het is mss een omslachtige code,maar ze werk. Op freeserverhost.net kreeg ik geen errors en werkte ze perfect. Op localhost kreeg ik wel errors(zie boven) maar werkt het ook
Mr_Dark - 02/10/2004 10:31
Lid
Euh... moet je ff in je php.ini kijken.. onder het kopje
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
die zet je op:
error_reporting = E_ALL & ~E_NOTICE
webstab - 02/10/2004 10:52 (laatste wijziging 02/10/2004 10:53)
PHP ver gevorderde
staar erop.
maar mijn vraag is nu hoe ik die errors weg krijg.
errors staat in mijn bericht hierboven en de code ook.
wat is er fout.
------------------------------
@ tuinstoel: handig scriptje,volgende keer ga ik het gebruiken
------------------------------
edit:
deze regel
mail($naarwie, $titel, $bericht, $headers);
mail ( $naarwie , $titel , $bericht , $headers ) ;
heb ik verandert in
mail($naarwie, $titel, $bericht);
mail ( $naarwie , $titel , $bericht ) ;
dan denk ik dat er al 1 error wegvalt(namelijk de laatste)
DRUNK - 02/10/2004 12:10
PHP gevorderde
waarom doe je dit?
#register.php@line 3
<?php if (@$_GET['activeer']) { ?>
#register.php@line 3
<?php if ( @ $_GET [ 'activeer' ] ) { ?>
gebruik gewoon isset()?
#register.php@line 26
<?php @$_POST['datum'] = $datum; ?>
#register.php@line 26
<?php @ $_POST [ 'datum' ] = $datum ; ?>
Waarom zou je nou die datum in de $_POST array zetten als je die waarde toch alleen maar in je database gaat wegschrijven?
undefined index: website (on line 37) : bekijk je form eens? daar zijn wat namen anders dan dat je denkt?
#register.php@line 74
<input type="text" size="30" name="vnaam" value="<? if (isset($_POST['submit']) && $gelukt == 0) { echo $_POST['woonplaats']; } ?>">
#register.php@line 74
<input type="text" size="30" name="vnaam" value="
<? if ( isset ( $_POST [ 'submit' ] ) && $gelukt == 0 ) { echo $_POST [ 'woonplaats' ] ; } ?> ">
#register.php@line 4
<?php
$arraymaand = array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
$datum = date("j ") . $arraymaand[date("n") - 1] . date(" Y");
?>
#register.php@line 4
<?php
$arraymaand = array ( "Januari" , "Februari" , "Maart" , "April" , "Mei" , "Juni" , "Juli" , "Augustus" , "September" , "Oktober" , "November" , "December" ) ; $datum = date ( "j " ) . $arraymaand [ date ( "n" ) - 1 ] . date ( " Y" ) ; ?>
zet dit stukje eens boven 'if (@$GET['activeer']) {'!? De variabele $datum is nu over het gehele script berijkbaar en niet alleen in het eerste if blok!?
en zo ik an ik nog wel even doorgaan, zou het iets gestructureerder aanpakken als ik jou was.
Thomas - 02/10/2004 13:25
Moderator
* Gebruik isset() om op het geset (bestaan) van variabelen te controleren
* Pas je PHP.INI aan zoals Mr. Dark aangeeft
* debug je scripts door (tijdelijk) bovenaan in je script error_reporting(E_ALL) te zetten
Gesponsorde links
Dit onderwerp is gesloten .