Ik heb een scriptje gemaakt om iets te weergeven voor runescape.
Maar nu heb ik het gemaakt en hij add niks in de database, ik heb dit:

<?php
include('include/header.php');
if($inlog == 'true' AND $rang == 'gebruiker'){
  echo '<table cellpadding="0" width="100%" cellspacing="0" border="0">';
  echo '<tr>';
  echo '<td><div id="login"><b>Quest toevoegen:</b></div></td>';
  echo '</tr>';
  echo '<tr>';
  if($_POST['submit'] AND $_POST['naam'] != "" AND $_POST['URL'] != ""){
    $ins = 'INSERT INTO badge (naam, begin, heid, quest, beloning) VALUES ("'.$_POST['naam'].'", "'.$_POST['begin'].'", "'.$_POST['heid'].'", "'.$_POST['quest'].'", "'.$_POST['beloning'].'")';
    mysql_query($ins) OR die (mysql_error());
    echo 'Het verwerken is voltooid! je word doorgesuurd!';
    doorstuur('index.php');
  } else {
    echo '<form action="'.$SERVER['PHP_SELF'].'" method="post">';
    echo '<table border="0" cellpadding="0 cellspacing="0">';
    echo '<tr>';
    echo '<td>';
    echo 'Naam:';
    echo '</td>';
    echo '<td>';
    echo '<input type="text" name="naam" value="'.$_POST['naam'].'" class="forminput">';
    echo '</td>';
    echo '</tr>';
    if($_POST['submit'] AND $_POST['naam'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>naam</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }
    echo '<tr>';
    echo '<td>';
    echo 'Beginpunt:';
    echo '</td>';
    echo '<td>';
    echo '<input type="text" name="begin" value="'.$_POST['begin'].'" class="forminput">';
    echo '</td>';
    echo '</tr>';
    if($_POST['submit'] AND $_POST['begin'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>beginpunt</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }
        echo '<tr>';
    echo '<td>';
    echo 'Moeilijkheid:';
    echo '</td>';
    echo '<td>';
    echo '<input type="text" name="heid" value="'.$_POST['heid'].'" class="forminput">';
    echo '</td>';
    echo '</tr>';
    if($_POST['submit'] AND $_POST['heid'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>moeilijksheidsgraad</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }
    echo '<tr>';
    echo '<td>';
    echo 'De quest:';
    echo '</td>';
    echo '<td>';
    echo '<input type="text" name="quest" value="'.$_POST['quest'].'" class="forminput">';
    echo '</td>';
    echo '</tr>';
    if($_POST['submit'] AND $_POST['quest'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel de <b>quest</b> invoeren!';
      echo '</td>';
      echo '</tr>';
    }
    echo '<tr>';
    echo '<td>';
    echo 'Beloning:';
    echo '</td>';
    echo '<td>';
    echo '<input type="text" name="beloning" value="'.$_POST['beloning'].'" class="forminput">';
    echo '</td>';
    echo '</tr>';
    if($_POST['submit'] AND $_POST['beloning'] == ""){
      echo '<tr>';
      echo '<td colspan="2">';
      echo 'Je moet wel een <b>beloning</b> invoeren!';
      echo '</td>';
      echo '</tr>';
   }





    echo '</table>';
    echo '<input type="submit" name="submit" value="verzend" class="forminput">';
    echo '</form>';
  }
  echo '</td>';
  echo '</tr>';
  echo '</table>';
} else {

}
include('include/footer.php');
?>


Weet iemand mischien een oplossing?
Op regel 9: if($_POST['submit'] AND ....
Ja, wat moet $_POST['submit'] dan zijn??? Dit moet je hoogst waarschijnlijk veranderen in if(isset($_POST['submit']) AND...
Waarom 100 regels code wanneer er op 1 a 2 regeltjes iets fout gaat? Dat je dan een keer 10 regels code plaatst, ok, maar 100?

Controleer met mysql_affected_rows() hoeveel rijen er zijn ingevoerd. Jij controleert dat nergens.

Het zou mij trouwens niet verbazen wanneer er wel wat wordt ingevoerd, maar jij naar de verkeerde resultaten zit te kijken... Check dit nog even heel erg goed.
Nee, sorry! Ik heb het geprobeert maar hij add nog niks..
Controleer eens of hij alle lussen inkomt

En zo af en toe kan je de fout ook nog wel eens vinden door even:
<?
echo "$ins";
?>

In je script te zetten.
@Aron: Nu geef je wel een vrij rottig voorbeeld, variabelen horen namelijk nooit tussen quotes " te staan. Een variabele is tenslotte geen string. (al kan er best een string in staan, maar doet niet ter zake)
Zet dit eens bovenin.
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest
?>
Ik vraag me even af: kan MySQL overweg met dubbele quotes??
VALUES ("'.$_POST['naam'].'", "'.$_POST['begin'].'", "'.....


Kan maarzo hoor, maar het het viel me op...

Reageren