Toon posts:

[PHP] Script post niet?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Directory structuur:
code:
1
2
3
4
5
6
/file.php 
/php/available/available.php
/php/available/available-1.inc CHMOD 777
/php/available/available-2.inc CHMOD 777
/php/available/available-3.inc CHMOD 777
/php/available/available-4.inc CHMOD 777

In file.php krijg je na een tijdje:
PHP:
1
<?include("php/available/available.php");?>

En in available.php krijg je het volgende:
PHP:
1
<?if($name1 == "" || $name2 == "" || $name3 == "" || $name4 == ""){        echo "<font size=2>Please insert your name in one of the fields and click \"Submit\"\n";    }else if($send_status == "ok" &amp;&amp; $name1 != ""){    $file = fopen("php/available/available-1.inc","a");    fputs($file,"$name1, ");    fclose($file);    }else if($send_status == "ok" &amp;&amp; $name2 != ""){    $file = fopen("php/available/available-2.inc","a");    fputs($file,"$name2, ");    fclose($file);    }else if($send_status == "ok" &amp;&amp; $name3 != ""){    $file = fopen("php/available/available-3.inc","a");    fputs($file,"$name3, ");    fclose($file);    }else if($send_status == "ok" &amp;&amp; $name4 != ""){    $file = fopen("php/available/available-4.inc","a");    fputs($file,"$name4, ");    fclose($file);}?>

Ik post dus een variabele naar elke file... Maar ALS ik dan op Submit drukt (gaat alles versturen, en de %name#'s in de available-#.inc's zetten, gaat het mis. Hij stopt ze er niet in, en de files blijven nul bytes. Ik weet niet hoe dit komt, maar misschien ligt het hieraan:
(begin formpje in available.php)
code:
1
<form method="POST" action="<? $PHP_SELF ?>">

Ik heb al geprobeert $PHP_SELF te vervangen door:
php/available/available.php
maar hij blijft niet-posten. Kan iemand me helpen? Ik snap het niet meer :'(

  • Grum
  • Registratie: Juni 2001
  • Niet online
waar zet jij $send_status op ok ? >:)

Verwijderd

Topicstarter
Op zondag 03 maart 2002 21:23 schreef Grum het volgende:
waar zet jij $send_status op ok ? >:)
Zo stom ben ik niet hoor :X
In diezelfde table, verderop.
code:
1
2
3
  <br><input type="submit" value="Submit" name="submit"><input type="reset" value="Reset" name="reset">
  <input type="hidden" value="ok" name="send_status">
</form>

:Y)

  • Grum
  • Registratie: Juni 2001
  • Niet online
als jij in de <form>-tag de action-var weglaat dan post ie altijd naar zichzelf toe

Verwijderd

Topicstarter
Maar dat is hetzelfde als $php_self. En lost DUS niets op :'(.. Want zo deed hij het al niet.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Zet eens wat meer debug info in je source...

Bijvoorbeeld een
PHP:
1
<?echo "available1 aangepast";?>

Zo kun je zien of ie in ieder geval door die ifjes heen komt.

(Trouwens.. hij update maximaal 1 bestand)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Grum
  • Registratie: Juni 2001
  • Niet online
de code zoals ie er nu staat doet het alleen als ALLES ingevuld is ... en dan doetie alleen optie 1 (file 1)

edit:
Zeg janoz .. moet jij nu niet ook ineens erbij editen dattie maar max 1 bestand doet he ! :P

Verwijderd

Topicstarter
Aha ik snap het denk ik wel... Dus dan zou ik voor alle opties een script moeten maken?
$name1 != "" && $name3 != "" && $name4 = "" && $name2 = ""
Dan ben je jaren bezig.. 4^2 = 16 mogelijkheden :D
Script van 10000 regels. Dit moet toch makkelijker kunnen?

  • Grum
  • Registratie: Juni 2001
  • Niet online
wat wil je ?

dat er minimaal 1 is ingevuld ? en diegene die zijn ingevuld moeten worden opgeslagen in die bestanden ?

Verwijderd

Topicstarter
Als er niets is ingevuld klikken ze ook niet op de knop, dus daar hoeft niets voor. Voor de rest, elke mogelijke combinatie.
Het is een script die een tabel geeft waarin mensen hun name in een available-tabelletje kunnen zetten, available voor trainingswars. (wolfenstein ;))

  • Grum
  • Registratie: Juni 2001
  • Niet online
hint: mysql ? :) (en aangezien jij het niet alleen gaat gebruiken moet een check of alle velden wel zijn ingevuld er ZEKER bij :P)

Verwijderd

Topicstarter
MySql ben ik bezig mee geweest maar een en ander wil nog niet helemaal lukken (mysql n00b :D).. Ik werk nogal vaak, altijd zeg maar met files en alles wat ik wil kan ermee, dit moet zeker kunnen... Maar hoe? damn :)

Verwijderd

Topicstarter
Op zondag 03 maart 2002 21:39 schreef Grum het volgende:
hint: mysql ? :) (en aangezien jij het niet alleen gaat gebruiken moet een check of alle velden wel zijn ingevuld er ZEKER bij :P)
Owja, alle velden hoeven dus NIET te zijn ingevuld. Stel bijvoorbeeld dat je voor de 1e 2 wel kan, en voor de 3e en 4e niet. Dan laat je die leeg... Als alle velden leeg zijn, kan de member dus gewoon voor elke war niet.

  • Grum
  • Registratie: Juni 2001
  • Niet online
ik zeg: mysql .. hehe

tis de moeite waard om daar wat tijd in te steken...
tis rete simpel .. en der zijn een miljoen en 1 tutor voor

Verwijderd

Topicstarter
Tot nu toe is het enige wat me nog niet lukt een tabel aanmaken op een mysql server :D
Ik heb het is een beetje doorgekeken en het coding part snap ik denk ik wel, toepassen is nog wat anders... Multimania, mijn host, draait wel een server maar die tool van hun, waar je tables mee kan aanmaken is een frans script en mijn frans is er niet niet toerijkent voor :D
phpMyAdmin moet ik nog eens even gaan bekijken... En ik ben bang dat ik dan straks weer hier kom met een hoop n00bvragen die /14 nog meer verpesten en dat zou ik niet willen.

  • Grum
  • Registratie: Juni 2001
  • Niet online
create table is toch niet zo lastig ?

Verwijderd

Topicstarter
Hmm ;)
Ik ga php.net is even doorspitten..

Verwijderd

Of zet phpMyAdmin ff op je site, zodat je je database daarmee kan onderhouden, is helemaal makkelijk.
(Beetje zelfde idee als access zeg maar)

Verwijderd

Topicstarter
Downloading phpMyAdmin. Moet ik daar nog iets aan aanpassen? (config.inc ofzo?)
Nouja laat maar ik kijk de readme.txt wel ff he =)

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Als je een standaard mysql distro hebt en nog geen rechten heb toegewezen, dan hoef je volgens mij alleen maar de host te veranderen in 'localhost'.....

Verwijderd

en passwd en username instellen indien je die nodig hebt natuurlijk :P
Maar denk dat je daar wel uitkomt, zelfs mij is het gelukt.

Verwijderd

Topicstarter
Als ik phpMyAdmin open krijg ik:
---
Warning: mysql_list_dbs() has been disabled for security reasons. in /common.lib.php on line 676
Fout
SQL-query :

mysql_list_dbs()


MySQL retourneerde:
---
Eh, juist :)
Ik heb username & pass ingevoerd, en localhost stond ie al op.

Verwijderd

post je $cfgServers[1] vars eens

Verwijderd

Topicstarter
Op zondag 03 maart 2002 22:15 schreef Grote Vos het volgende:
post je $cfgServers[1] vars eens
/**
* Server(s) configuration
*/
// The $cfgServers array starts with $cfgServers[1]. Do not use $cfgServers[0].
// You can disable a server config entry by setting host to ''.
$cfgServers[1]['host'] = 'localhost'; // MySQL hostname
$cfgServers[1]['port'] = ''; // MySQL port - leave blank for default port
$cfgServers[1]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfgServers[1]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfgServers[1]['stduser'] = ''; // MySQL standard user settings (this user must have read-only
$cfgServers[1]['stdpass'] = ''; // access to the "mysql/user" and "mysql/db" tables)
$cfgServers[1]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfgServers[1]['user'] = 'root'; // MySQL user
$cfgServers[1]['password'] = ''; // MySQL password (only needed with 'config' auth)
$cfgServers[1]['only_db'] = ''; // If set to a db-name, only this db is displayed at left frame
// It may also be an array of db-names
$cfgServers[1]['verbose'] = ''; // Verbose name for this host - leave blank to show the hostname
$cfgServers[1]['bookmarkdb'] = ''; // Bookmark db - leave blank for no bookmark support
$cfgServers[1]['bookmarktable'] = ''; // Bookmark table - leave blank for no bookmark support
$cfgServers[1]['relation'] = ''; // table to describe the relation between links (see doc)
// - leave blank for no relation-links support
Edit: hmm geen user etc.. Dat zal ik dan wel hebben ingesteld bij $cfgservers[2] ofzo |:(
FF kijken..
Edit2: ik heb nu dus wel ingevuld maar ik krijg hetzelfde probleem :(

Verwijderd

Misschien moet je ipv tcp socket kiezen?? Kan zijn dat je OS niet echt blij wordt van tcp

edit:

Hierzo dus:
[php]<?$cfgServers[1]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')?>[/php]


BTW doe voortaan zulke dingen ff tussen [ php ] [ /php ] of [ code ] [ /code ] tags, dat leest wat makkelijker :)

Verwijderd

wat je ook kunt proberen is zonder user en password in te vullen, ik weet niet hoe jij je server hebt geconfigureerd (damn wat een woord)

Verwijderd

Topicstarter
Dat had ik helemaal in het begin dus, en toen kreeg ik ook diezelfde error... :'(

Verwijderd

wat voor server hebbie draaien?? (en dan bedoel ik wat voor pakket, phptriad oid)

Verwijderd

Topicstarter
Hehe, www.multimania.fr, die draaien standaard iig _een_ mysql server.. Maar vraag me niet welke.

Verwijderd

Topicstarter
PHP:
1
<?    <tr>      <form method="POST" action="<? $PHP_SELF ?>">      <input type="hidden" value="ok" name="send_status">      <td width="5%" height="21">      <font size="2" face="Arial">1</font></td>      <td width="53%" height="21">      <?php include("php/available/available-1.inc"); ?></td>      <td width="7%" height="21">      <font face="Arial">      <input type="text" name="name" size="10"></font></td>      <td width="14%" height="21">      <input type="submit" value="Submit" name="submit"></td>      </form>    </tr><?if($name == ""){        echo " ";    }else if($send_status == "ok" &amp;&amp; $name != ""){    $file = fopen("php/available/available-1.inc","a");    fputs($file,"$name, ");    fclose($file);    }?>

Nu heb ik error_reporting is aangezet voor de gein :9
Om het ff uit te leggen, ik heb nu PER practice-war een apart script gemaakt, en nu kun je dus ook op 4 knoppen drukken ;) Dit is 1 van die 4 <tr>tjes.., elke .php bevat een <tr> om zo samen met header.inc en footer.inc een <table> te vormen =) Hoop dat het een beetje duidelijk is :D Maar iig, de error_reporting gaf het volgende:
Warning: Undefined variable: name in /available-1.php on line 16
Warning: Undefined variable: name in /available-2.php on line 16
Warning: Undefined variable: name in /available-3.php on line 16
Warning: Undefined variable: name in /available-4.php on line 16
Tja.. Het lijkt duidelijk maar ik snap dus niet waar hij $name niet gedefined ziet, dat gebeurd toch als je post? |:(

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Hebben wij het hier wel over een PHP versie met register_globals op ON?

Mav probeer eens vrolijk $HTTP_POST_VARS['name'] ipv $name.

Verwijderd

Topicstarter
/me probeert hoopvol :)

Verwijderd

Topicstarter
Nu geeft de error reporting:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /available-1.php on line 21

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /available-2.php on line 21

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /available-3.php on line 21

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /available-4.php on line 21
Script code (zonder het html deel deze x):
PHP:
1
<?if($name == ""){        echo " ";    }else if($send_status == "ok"){    $file = fopen("php/available/available-2.inc","a");    fputs($file,"$HTTP_POST_VARS['name'], ");    fclose($file);    }?>

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op zondag 03 maart 2002 23:19 schreef DeZ het volgende:
Nu geeft de error reporting:
[..]

Script code (zonder het html deel deze x):
PHP:
1
<?if($name == ""){        echo " ";    }else if($send_status == "ok"){    $file = fopen("php/available/available-2.inc","a");    fputs($file,"$HTTP_POST_VARS['name'], ");    fclose($file);    }?>
Hmzz doe eens zonder '

Verwijderd

Topicstarter
/me probeert weer
Nu ziet hij het weer als $name ipv $HTTP_POST_VARS[name], want hij geeft dezelfde error.
Warning: Undefined variable: name in /available-1.php on line 16

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Owkay. De eerste keer is die $name of $HTTP_POST_VARS[name] niet bekend in de eerste if. Regel 16 dus. Vandaar ook deze melding.

Deze if zal je dan ook na de isset(status == ok) moeten, omdat die ook pas uitgevoerd moet worden als hij gepost is.

Maar dit nog geen oplossing voor je probleem. Ik kijk ff verder
[edit]Wat is je probleem met dit lappie code nou eigenlijk?

Verwijderd

Topicstarter
Moet je even helemaal in het begin van dit topic kijken. Hij post $name niet... Eh. :)
http://liquidation.multimania.com/dez/index.php?page=login
User = got
pass = blaat

Note: ik heb in het eerste van de vier scripts (het zijn 4 <tr>'s, elke <tr> heeft een eigen post-script) van $HTTP_POST_VARS['name'] $HTTP_POST_VARS[name] (zonder ') gemaakt.. Je ziet het verschil ;)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op de eerste pagina :
Warning: Undefined variable: send_status in login.php on line 29

Heeft de liquidcrew wat te veel liquid op? >:)

Maar ik neem aan dat de "Upcoming Practices" hetgene zijn wat ie moet doen? Maar waar komt die 'name' dan terug? Is dat de login die ik intypte op pagina 1?

Verwijderd

Topicstarter
Op zondag 03 maart 2002 23:42 schreef Glimi het volgende:
Op de eerste pagina :
Warning: Undefined variable: send_status in login.php on line 29

Heeft de liquidcrew wat te veel liquid op? >:)

Maar ik neem aan dat de "Upcoming Practices" hetgene zijn wat ie moet doen? Maar waar komt die 'name' dan terug? Is dat de login die ik intypte op pagina 1?
:D
Nee, dat komt omdat je dan nog niet op Submit hebt geklikt bij de login, dan is send_status nog niet "ok" :P
En het veld wat je dan helemaal onderaan ziet bij Upcomming practices is Name, en als je op Submit douwt zou hij dus $name moeten posten en als je dan overnieuw inlogt staat wat je ingevoerd hebt in dat veld overal daarvoor. Voor het textveld dus (Daar leest hij uit de file die $name opslaat als je op submit drukt)
:)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Juist.... hij is duidelijk.

Staat $name dan in de file? Hoe staat hij in de file?

[edit]$HTTP_POST_VARS is dus niet nodig, omdat hij hem ook weer uit de file moet halen....

Verwijderd

Topicstarter
Hij staat in de html van die table =)

<input type=text name=name value="">

Snap je?
Ik ga btw zo slapen dus ik lees het antwoord morgen wel :+

Verwijderd

Topicstarter
Op zondag 03 maart 2002 23:58 schreef DeZ het volgende:
Hij staat in de html van die table =)

<input type=text name=name value="">

Snap je?
Ik ga btw zo slapen dus ik lees het antwoord morgen wel :+
Glimi is gaan slapen ondertussen? ;) :z

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op maandag 04 maart 2002 15:04 schreef DeZ het volgende:

[..]

Glimi is gaan slapen ondertussen? ;) :z
En weer wakker hoor :) Maar ik wachte nog op het antwoord op de vorige vraag: Schrijft php de variable wel weg in de file?

Verwijderd

Topicstarter
Op zondag 03 maart 2002 23:58 schreef DeZ het volgende:
Hij staat in de html van die table =)

<input type=text name=name value="">

Snap je?
Ik ga btw zo slapen dus ik lees het antwoord morgen wel :+
Dat heb ik al gepost, hierboven.. Als je dan op submit drukt en iets hebt ingevuld op dit textveld moet het werken...
Pagina: 1