Topic: admin_index.php CGI-fel

När jag skall gå in i Admin så kommer detta medelande upp:

CGI-fel
CGI-programmet returnerade inte korrekta HTTP-huvuden.

Vad kan det vara för fel? Försökte söka mig till det men hittade inget...

Sedan så undrar jag hur man lättast lägger till några flera saker som man måste fylla i när man skall regrestrera sig, lägger man till fler tabeller i users och sedan försöka klämma med det i register.php, eller finns det något lättare sätt?
"har just börjat med php och har lite svårt för att se vart man skall klämma med det så att det kommer med när man trycker submit"

Re: admin_index.php CGI-fel

Filen kan vara korrupt. Prova att packa upp filen admin_index.php på nytt från arkivet.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: admin_index.php CGI-fel

Kennel wrote:

Filen kan vara korrupt. Prova att packa upp filen admin_index.php på nytt från arkivet.

Okej skall testa det, men jag har några mera frågor som jag skulle vilja ha svar på:

Nu börjar jag fatta vart jag ändrar texter mm"hur simpelt det blir om man skall äversätta till ett annat språk"

Nu så har jag lagt till en massa extrafrågor i regresteringsformuläret, men nu så vill jag hitta vart den connectar till MySQL databasen någonstans, hittar inte det. Och eftersom jag ej hittar det så hittar jag ej vart jag skall lägga till all min extra info som skickas med dom andra ifyllningsmojarna

Exempel: <input type="text" name="Stad" size="50" maxlength="50">
Då vill jag ju veta vart infon i Stad kommer när jag klickar på submit...

Du får ursäkta att jag förklara så dåligt men håller som sagt precis på att lära mig PHP

Re: admin_index.php CGI-fel

Uppkoppling mot databasen sker i databasklassen som laddas i include/dblayer/commondb.php

Om du vill lägga till fler fält i profilen får du redigera users-tabellen och lägga till kolumner för denna information. Det gör du enklast i någon form av administrationsverktyg för MySQL. Själva insättningen i databasen då man registrerar sig sker i register.php. På rad 165 för att vara exakt.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: admin_index.php CGI-fel

if(empty($_POST['Fornamn']))
                 $Fornamn = "not set";
              if(empty($_POST['Efternam']))
                 $Efternamn = "not set";
              if(empty($_POST['Adress']))
                 $Adress = "not set";
              if(empty($_POST['Postnummer']))
                 $Postnummer = "not set";
              if(empty($_POST['Stad']))
                 $Stad = "not set";
              if(empty($_POST['Kon']))
                 $Kon = "not set";
              if(empty($_POST['Fodelsear']))
                 $Fodelsear = "not set";
            
                
                        
              if(!empty($_POST['Fornamn']))
              {
                  $Fornamn                   = $_POST['Fornamn'];
                    $Efternamn                = $_POST['Efternamn'];
                  $Adress                    = $_POST['Adress'];
                  $Postnummer                = $_POST['Postnummer'];
                  $Stad                    = $_POST['Stad'];
                  $Kon                    = $_POST['Kon'];
                  $Fodelsear                = $_POST['Fodelsear'];
                                                      

              }

Det ovan satte jag in i en påbörjad <?php  kanske inte fungerar om den influeras av det som står över?

Det nedan la jag in, men jag vet ej om jag fick alla ' och allt rätt..

    $db->query('INSERT INTO '.$db->prefix.'users (username, password, email, hide_email, save_pass, timezone, style, status, registered, Fornamn, Efternamn, Adress, Postnummer, Stad, Kon, Fodelsear) VALUES(\''.addslashes($username).'\', \''.md5($password1).'\', \''.$email1.'\', '.$hide_email.', '.$save_pass.', '.$_POST['timezone'].' ,\''.$options['default_style'].'\' ,'.$intial_status.', '.$now.', '.$Fornamn.', '.$Efternamn.', '.$Adress.', '.$Postnummer.', '.$Stad.', '.$Kon.', '.$Fodelsear.')') or error('Unable to create user', __FILE__, __LINE__, $db->error());


Och i <form    så la jag in så la jag till alla

<tr>
            <td class="puncon1right" style="width: 140px; white-space: nowrap"><b><?php print $lang_common['Fornamn'] ?></b>  </td>
            <td class="puncon2">
         <input type="text" name="Fornamn" size="50" maxlength="50">

            </td>

Men när jag klickar på submit-knappen så får jag upp detta:

An error was encountered
Error: Unable to create user.


Det är säkert tusen fel som jag har gjort men om det bara är något litet fel så kan la någon försöka förklara för mig vad jag gör för fel...

Re: admin_index.php CGI-fel

Eftersom Fornamn, Efternamn osv. är strängar måste du ha enkla sitationstecken före och efter strängen när du sätter in i databasen. Du borde dessutom köra funktionen escape() på strängarna dessförrinnan.

Jag är lite trött nu och måste kila iväg, men prova det här:

$db->query('INSERT INTO '.$db->prefix.'users (username, password, email, hide_email, save_pass, timezone, style, status, registered, Fornamn, Efternamn, Adress, Postnummer, Stad, Kon, Fodelsear) VALUES(\''.addslashes($username).'\', \''.md5($password1).'\', \''.$email1.'\', '.$hide_email.', '.$save_pass.', '.$_POST['timezone'].' ,\''.$options['default_style'].'\' ,'.$intial_status.', '.$now.', \''.escape($Fornamn).'\', \''.escape($Efternamn).'\', \''.escape($Adress).'\', \''.escape($Postnummer).'\', \''.escape($Stad).'\', \''.escape($Kon).'\', \''.escape($Fodelsear).'\')') or error('Unable to create user', __FILE__, __LINE__, $db->error());

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: admin_index.php CGI-fel

Kennel wrote:

Eftersom Fornamn, Efternamn osv. är strängar måste du ha enkla sitationstecken före och efter strängen när du sätter in i databasen. Du borde dessutom köra funktionen escape() på strängarna dessförrinnan.

Jag är lite trött nu och måste kila iväg, men prova det här:

$db->query('INSERT INTO '.$db->prefix.'users (username, password, email, hide_email, save_pass, timezone, style, status, registered, Fornamn, Efternamn, Adress, Postnummer, Stad, Kon, Fodelsear) VALUES(\''.addslashes($username).'\', \''.md5($password1).'\', \''.$email1.'\', '.$hide_email.', '.$save_pass.', '.$_POST['timezone'].' ,\''.$options['default_style'].'\' ,'.$intial_status.', '.$now.', \''.escape($Fornamn).'\', \''.escape($Efternamn).'\', \''.escape($Adress).'\', \''.escape($Postnummer).'\', \''.escape($Stad).'\', \''.escape($Kon).'\', \''.escape($Fodelsear).'\')') or error('Unable to create user', __FILE__, __LINE__, $db->error());

Tackar!

Det värkar som om det nästan fungerar nu men jag får inte det man fyller i att gå in i själva databasen.

Det blir inga error nu men när jag kollat i min tabell så är det helt tomt...

jag satten in denna på ett ställe där den ej påverkas av något annat:

<?php       
                  $fornamn                   = $_POST['fornamn'];
                    $efternamn                = $_POST['efternamn'];
                  $adress                    = $_POST['adress'];
                  $postnummer                = $_POST['postnummer'];
                  $stad                    = $_POST['stad'];
                  $kon                    = $_POST['kon'];
                  $fodelsear                = $_POST['fodelsear'];
           
?>   

och så la jag in det som du hade skrivigt om så att det blev rätt"tackar"

men informationen ville ej sparas i tabellen men det blev iallafall inga errors wink

Om du inte vet vad felet kan ligga så får la jag lösa det på något annat sätt, fast det hade ju varigt skitbra om man kunde få in det i regrestreringsformuläret och slippa skapa detta på något annat ställe ;(

Re: admin_index.php CGI-fel

Tja, det där ser rätt ut. Lite svårt att säga vad som är fel "härifrån".

"Programming is like sex: one mistake and you have to support it for the rest of your life."