MySQL Probleem met invoegen van naam
kenzo - 07/09/2006 18:43
PHP beginner
Hallo,
ik ben een bestelscriptje aan het maken en als ik de gebruikersnaam in wil voegen (die ik per mail heb ontvangen), dan voert hij die niet in.
Ik heb iets heel vaags. Als ik alleen de gebruikersnaam invul voegt hij hem wil in in phpmyadmin, maar als ik ook iets anders erbij invul laat hij gebruikersnaam leeg.
Hier een klein stukje code (query), en hier volledige code:
http://www.plaatscode.be/2578 /
If($_SERVER['REQUEST_METHOD'] == "POST")
{
mysql_query("INSERT INTO bestellingen (id,gebruikersnaam,ip,pakket,status,datum,beschrijving) VALUES ('','".addslashes($_POST['gebruikersnaam'])."','".addslashes($_POST['ip'])."','".addslashes($_POST['pakket'])."','".addslashes($_POST['status'])."','".date("d-m-Y")."','".addslashes($_POST['beschrijving'])."')")or die(mysql_error());
echo table("De bestelling is succesvol toegevoegd.");
}
If ( $_SERVER [ 'REQUEST_METHOD' ] == "POST" )
{
mysql_query ( "INSERT INTO bestellingen (id,gebruikersnaam,ip,pakket,status,datum,beschrijving) VALUES ('','" . addslashes ( $_POST [ 'gebruikersnaam' ] ) . "','" . addslashes ( $_POST [ 'ip' ] ) . "','" . addslashes ( $_POST [ 'pakket' ] ) . "','" . addslashes ( $_POST [ 'status' ] ) . "','" . date ( "d-m-Y" ) . "','" . addslashes ( $_POST [ 'beschrijving' ] ) . "')" ) or
die ( mysql_error ( ) ) ; echo table
( "De bestelling is succesvol toegevoegd." ) ;
}
Ook heb ik bij de prijzen van domeinnamen \\ achter de prijs.
$sl2 = @mysql_query("SELECT * FROM prijzen ORDER BY id ASC")or die(mysql_error());
while($c2 = mysql_fetch_assoc($sl2))
{
echo "
<option value='".addslashes($c2['ext'])." / € ".addslashes(ucfirst($c2['prijs']))."'>".addslashes(ucfirst($c2['ext']))." / €".addslashes(ucfirst($c2['prijs']))."</option>";
}
Bedankt!
14 antwoorden
Gesponsorde links
marten - 07/09/2006 18:55
Beheerder
krijg je foutmeldingen?
Haal die @ voor de tweede query eens weg
kenzo - 07/09/2006 19:06
PHP beginner
krijg geen foutmelding, maar zonder die @ doet hij het zelfde
wat was ook alweer de code voor alle foutmeldingen?
Error_all ofzo?
marten - 07/09/2006 19:07
Beheerder
error_reporting(E_ALL);
boven aan je code zetten
kenzo - 07/09/2006 19:08
PHP beginner
Notice: Undefined index: gebruikersnaam in /home/hendriks/domains/superwebhost.nl/public_html/site2/klanten/leden/pak_toev.php on line 11
De bestelling is succesvol toegevoegd.
Notice: Undefined index: gebruikersnaam in / home/ hendriks/ domains/ superwebhost. nl/ public_html/ site2/ klanten/ leden/ pak_toev. php on line 11
De bestelling is succesvol toegevoegd.
`
regel 11:
mysql_query("INSERT INTO bestellingen (id,gebruikersnaam,ip,pakket,status,datum,beschrijving) VALUES ('','".addslashes($_POST['gebruikersnaam'])."','".addslashes($_POST['ip'])."','".addslashes($_POST['pakket'])."','".addslashes($_POST['status'])."','".date("d-m-Y")."','".addslashes($_POST['beschrijving'])."')")or die(mysql_error());
mysql_query ( "INSERT INTO bestellingen (id,gebruikersnaam,ip,pakket,status,datum,beschrijving) VALUES ('','" . addslashes ( $_POST [ 'gebruikersnaam' ] ) . "','" . addslashes ( $_POST [ 'ip' ] ) . "','" . addslashes ( $_POST [ 'pakket' ] ) . "','" . addslashes ( $_POST [ 'status' ] ) . "','" . date ( "d-m-Y" ) . "','" . addslashes ( $_POST [ 'beschrijving' ] ) . "')" ) or
die ( mysql_error ( ) ) ;
marten - 07/09/2006 19:12
Beheerder
echo je variabelen eerst eens voordat je de query uitvoert. Kijk dan eens of deze wel allemaal goed zijn zoals je in het formulier getypt hebt
En maak al je scripts met error_reporting(E_ALL) bovenaan je pagina
kenzo - 07/09/2006 19:21
PHP beginner
het zit hem toch in de code...
als ik gebruikersnaam weg doe, doet ip het niet
marten - 07/09/2006 19:22
Beheerder
Waarschijnlijk een fout met je quotes. Kijk daar maar eens goed naar.
Doe addslashes eens niet in je query maar even daarvoro zeg maar
kenzo - 07/09/2006 19:22
PHP beginner
hoe doe ik ze ervoor?
marten - 07/09/2006 19:24 (laatste wijziging 07/09/2006 19:41)
Beheerder
<?php
$gebr_naam = addslashes($_POST['gebruikersnaam']);
$query = mysql_query(blabla);
?>
<?php
$gebr_naam = addslashes ( $_POST [ 'gebruikersnaam' ] ) ;
?>
moment zit je code even te verbeteren e.d.
http://www.pastebin.be/58 /
Als je iets uit je database haalt moet je stripslashes gebruiken
Numerieke waarden moeten buiten quotes in je query's Kijk daar eens naar. Ga alle waarden na of ze correct ingelogd zijn en probeer wat te spelen met je code totdat je een oplossing vind
kenzo - 07/09/2006 19:55
PHP beginner
bedankt voor het helpen, maar daar ligt het niet aan. ik heb alles stap voor stap opnieuw gedaan, en bij het pakketten toevoegen gaat het mis.
hier ligt het dus aan:
<table><td width='99%'><select name=pakket size=17>
<option value='' style='background-color: #F5F5F5'> // WEBHOSTING //</option>";
$sl = @mysql_query("SELECT * FROM paketten ORDER BY id ASC")or die(mysql_error());
while($c = mysql_fetch_assoc($sl))
{
echo "
<option value='".addslashes($c['naam'])." / € ".addslashes(ucfirst($c['prijs']))."'>".addslashes(ucfirst($c['naam']))." / €".addslashes(ucfirst($c['prijs']))."</option>";
}
echo "
<option value='' style='background-color: #F5F5F5'> // DOMEINEN //</option>";
$sl2 = @mysql_query("SELECT * FROM prijzen ORDER BY id ASC")or die(mysql_error());
while($c2 = mysql_fetch_assoc($sl2))
{
echo "
<option value='".addslashes($c2['ext'])." / € ".addslashes(ucfirst($c2['prijs']))."'>".addslashes(ucfirst($c2['ext']))." / €".addslashes(ucfirst($c2['prijs']))."</option>";
}
echo"</select></td></table>
< table>< td width= '99%' >< select name= pakket size= 17 >
< option value= '' style= 'background-color: #F5F5F5' >& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; // WEBHOSTING //</option>";
{
}
<option value='' style='background-color: #F5F5F5'> // DOMEINEN //</option>" ;
{
}
echo "</select></td></table>
ik haal gegevens uit 2 databases, is dit misschien het probleem?
Gesponsorde links
Dit onderwerp is gesloten .