if probleem

Status
Niet open voor verdere reacties.

dj technics

Gebruiker
Lid geworden
1 sep 2007
Berichten
367
he,

eerst zal ik mijn script maar geven he

PHP:
    if(isset($_POST['aanpassen'])) {
    $sudo = '1';
  } else {
    $sudo = '0';
  }
    $tQuery = "INSERT INTO `pagina's` (`page_name`, aanpassen) VALUES ('" . $_POST['new_page'] . "', '" . $sudo . "' );";

als $_POST['aanpassen'] niet is aangevinkt werkt de query volledig.
als $_POST['aanpassen'] niet is aangevinkt doet de query gewoon niks. met andere woorden de lijn wordt niet ingevoegd.

ik zou niet weten aan wat dit kan liggen.

bedankt

dj technics
 
Zou je het iets anders uit kunnen leggen, ik snap het niet helemaal :o,
echo de waarde $sudo gewoon is, en kijk wat hij eruit gooit (zonder querys)
 
En dan nog dit:

Je tabelnaam heet 'pagina's'??? Haal die apostrof eens héél snel weg daar, dat hoort echt niet in een database...

Verder is het raadzaam om óf Engels (bij voorkeur), óf Nederlands te gebruiken. Niet 'paginas' en 'page_name', maar 'pages' en 'page_name' of 'paginas' en 'pagina_naam'.

Daarnaast zou mysql_real_escape_string() hier niet misstaan.
 
Daarnaast zou ik alle waardes van een $_POST altijd controleren met isset(), dan weet je zeker dat alle waardes gevuld zijn en geen lege rijen krijg in je database
 
Ik denk zelf dat het aan de html code ligt.

HTML:
HTML:
<input type="checkbox" name="aanpassen" value="checked" />

PHP:
PHP:
<?php
if(isset($_POST['aanpassen']) && !empty($_POST['aanpassen']) && $_POST['aanpassen'] == ''checked'') {
// blablabla....

?>

Je kunt de waarde van de checkbox "aanpassen" laten meesturen als ie gechecked is. Is ie niet gechecked, dan wordt ie waarschijnlijk niet meegestuurd. Probeer de bovenstaande voorbeelden maar eens ;)
 
Ik weet zeker dat het niet aan de HTML code ligt aangezien die alleen meestuurt of een checkbox is gecheckt of niet

Daarnaast controleert hij of deze is gecheckt door de PHP functie
PHP:
isset()
En wanneer de checkbox nogeens niet is gezet gaat hij automatisch door naar de else die de waarde 0 toekent.

Dus de fout zal dan moeten zitten in het script van PHP of de MySQL query en niet de HTML code.

Daarnaast staat er in de query het volgende
Code:
$tQuery = "INSERT INTO `pagina's` (`page_name`, aanpassen) VALUES ('" . $_POST['new_page'] . "', '" . $sudo . "' );";

Hierbij mist de parameter "aanpassen" de juiste accolades. Dit moet zijn:
Code:
$tQuery = "INSERT INTO `pagina's` (`page_name`, `aanpassen`) VALUES ('" . $_POST['new_page'] . "', '" . $sudo . "' );";

Hierna zou die moeten werken

groeten vreugde
 
Ik zou dan eerst testen wat ie wel en niet doet:
PHP:
<?php
if(isset($_POST['aanpassen'])) {
    $sudo = 1;
    echo '$sudo kreeg als waarde 1';
  } else {
    $sudo = 0;
    echo '$sudo kreeg als waarde 0';
  }
    $tQuery = "INSERT INTO `pagina's` (`page_name`, aanpassen) VALUES ('" . $_POST['new_page'] . "', '" . $sudo . "' );";
?>

Kijk eerst maar even wat ie nou precies doet, daarna kunnen we meer zeggen
 
Laatst bewerkt:
@5blabla5, let wel op je quotes. Zowel in post #5 ga je daarmee een beetje de mist in (regel 2 van de PHP) en op regel 7 van post #7 ook.

Daarnaast zijn de backticks ( ` ) in de SQL-queries volgens mij niet nodig. Ik meen dat dat uit een oude MySQL-versie stamt, maar ik heb ze nog nooit gebruikt... en het werkte toch altijd.
 
Die zijn dus nodig als je aanhalingstekens e.d. in je tabelnamen gebruikt, daarom zei ik dat dat eerst aangepast moet worden.
 
Geldt ook voor het gebruik van reserved words, kun je ook 'opheffen' met backticks. Dat reserved words niet voor niets gereserveerd zijn wordt daarbij vergeten.
 
@5blabla5, let wel op je quotes. Zowel in post #5 ga je daarmee een beetje de mist in (regel 2 van de PHP) en op regel 7 van post #7 ook.

Daarnaast zijn de backticks ( ` ) in de SQL-queries volgens mij niet nodig. Ik meen dat dat uit een oude MySQL-versie stamt, maar ik heb ze nog nooit gebruikt... en het werkte toch altijd.

In post 5 heb ik '' haakjes gebruikt ja, omdat ik het letterlijk in dit scherm heb getikt, en ik normaal kladblok daarvoor gebruik ;)

In post 7 is er geloof ik niets aan de hand. Als je de variabele binnen de quotes bedoelt: Enkele haakjes zijn er geloof ik niet gevoelig voor, dubbele haakjes wel...
 
In post 5 heb ik '' haakjes gebruikt ja, omdat ik het letterlijk in dit scherm heb getikt, en ik normaal kladblok daarvoor gebruik ;)

In post 7 is er geloof ik niets aan de hand. Als je de variabele binnen de quotes bedoelt: Enkele haakjes zijn er geloof ik niet gevoelig voor, dubbele haakjes wel...

Ik zie dat je post #7 nu hebt aangepast... ;)
 
het is opgelost ondertussen.

het was een combinatie van problemen.
inderdaad die ' bij pagina's deed lastig en heb ik dus weggehaald.

en verder zat ik nog met een probleem in de voorgaande html pagina.

$_POST['aanpassen'] werd twee maal gedefinieerd.

toch bedankt allemaal

dj technics
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan